关于$()的问题

来源: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"),会获取所有符合条件的标签。例如

http://img.mukewang.com/climg/5f2e061909c7008307970406.jpghttp://img.mukewang.com/climg/5f2e062a096e3bfc08310312.jpg

2、zepto和jquery类似,所以可以通过eq()方法获取其中的一个。例如

http://img.mukewang.com/climg/5f2e065109d6e31703830037.jpg

http://img.mukewang.com/climg/5f2e06560998d9ce01190027.jpg

如果是id值的第三个,一般html中不建议这样写的,建议id值设置为不一样的。

3、$("div")获取的是所有div,使用jquery方法的时候内部进行了遍历,不需要我们再像js一样手动遍历,比较方便。会给所有的div添加上内容

http://img.mukewang.com/climg/5f2e06f30970a18907870406.jpghttp://img.mukewang.com/climg/5f2e06f9095a4fd502010090.jpg

4、zepto中的方法如果不知道有哪些,方法有什么作用,建议看下文档:

http://www.zeptojs.cn/#eq

祝学习愉快!

0

慕标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>


0

0 学习 · 6815 问题

查看课程