个人觉得querySelector 和 querySelectorAll 是DOM中超强的选择标签的方式,因为他们接受的参数是类CSS选择符的字符串。因此,感觉它们的功能远超传统的getElementById或者getElementsByTagName之类的,
它们的主要区别在于,querySelector 只找一个标签,querySelectorAll 是找多个标签。
举例说明:有如下HTML结构
<!-- 图片部分 -->
<ul class="picUl" id="picUl">
<li>
<span>美女1</span>
</li>
<li>
<span>美女2</span>
</li>
<li>
<span>美女3</span>
</li>
<li>
<span>美女4</span>
</li>
</ul>
<!-- 图片部分 end -->
- 通过ID获取标签:以下代码功能一样
let xId = document.getElementById("picUl");
let xx = document.querySelector("#picUl");
2、通过类名获取标签:
let picul = document.querySelectorAll(".picUl"); // 文档中所有的类为 .picul 的标签
let picul2 = document.querySelector(".picUl"); // 第一个类为 .picul 的标签
let picul3 = xId.querySelectorAll(".picUL"); // xId 下所有类为 .picul 的标签
3、当然也可以通过标签名获取标签:
let zz = xId.querySelector("p"); // 获取 xId 下第一个p标签
let xx = document.querySelector("p"); // 获取 文档里 所有的p标签
4、更爽的是,它们支持CSS其他选择方式:
let x1 = document.querySelectorAll("#picUl>li"); // #picUl 下所有的子标签 li
let x2 = document.querySelector("#picUl>li:nth-child(1)"); // #picUl下第1个子标签li
let x3 = document.querySelectorAll("#picUl>li:not(:nth-child(3))");
// #picUl下 非第3个子标签li。也就是 第三个子标签li 的兄弟li们。
作者:stones4zd
来源:优快云
原文:https://blog.youkuaiyun.com/weixin_42703239/article/details/88879736
博客介绍了DOM中querySelector和querySelectorAll是超强的选择标签方式,它们接受类CSS选择符字符串,功能远超传统的getElementById等方法。querySelector只找一个标签,querySelectorAll找多个标签,还举例说明了通过ID、类名、标签名及其他CSS选择方式获取标签。
1096

被折叠的 条评论
为什么被折叠?



