关于$()的问题
来源:1-4 DOM对象与zepto对象互相转换
慕标5156652
2020-08-07 23:14:42
$("#one")是获取的一个数组 ?这个数组是不是所有id="one"的标签?
我记得
querySelectorAll(".box")是获取所有class="box"的元素,而当我们有多个class="box"的元素时,我们要选择第三个时 是这样写的querySelectorAll(".box")[2],
那为什么使用$(".box")时,如果页面有多个class="box"时 我们要选择第三个class="box"该怎么办?这个时候是不是就应该选择用id来获取会好一点,但是id一般都是独一无二的,那为什么视频里面会说("#one")获取的是一个数组那我们要选择第三个id="one" 的怎么办?
2回答
好帮手慕星星
2020-08-08
同学你好,问题解答如下:
1、$("#one")获取的是类数组对象,这个数组只有一个id="one"的标签,也就是获取第一个,因为id是独一无二的。如果是通过class类获取$(".one"),会获取所有符合条件的标签。例如
2、zepto和jquery类似,所以可以通过eq()方法获取其中的一个。例如
如果是id值的第三个,一般html中不建议这样写的,建议id值设置为不一样的。
3、$("div")获取的是所有div,使用jquery方法的时候内部进行了遍历,不需要我们再像js一样手动遍历,比较方便。会给所有的div添加上内容
4、zepto中的方法如果不知道有哪些,方法有什么作用,建议看下文档:
祝学习愉快!
慕标5156652
提问者
2020-08-07
还有就是说的$("")返回的是一个数组那我我们要使用某一个时会$("")[n]?
那么下面$("div").html("hello world");没有写下标也可以 ?
还是说只能在zepto中使用$("")[n]?
这不是自相矛盾了吗
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id="box" class="box"></div>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="zepto.min.js"></script>
<script>
// jq写法
$(document).ready(function(){
$("div").html("hello world");
$(".box").html("sadssd");
});
// zepto写法
// $(document).ready(function(){
// $("div").html("hello world");
// });
</script>
</body>
</html>
相似问题