我们用原生document的时候往往使用 document.getElementById 这种依靠class ,Id ,标签名 ,来获得想找到的节点。
这在逻辑结构比较简单的时候还是不错的选择,可是当结构层级复杂事,就不是那么好用了。
这个时候 我们就可以使用 document提供的另外一个强大的方法,querySelector/querySelectorAll ,这个方法支持css的样式写法
eg:
document.querySelector("div.test>p:first-child");document.querySelectorAll("div.test>p:first-child")[0];
现在应该对于
querySelector、querySelectorAll 方法中的参数已经非常明白了,是的,它接收的参数和 CSS 选择器完全一致。querySelector 和 querySelectorAll 的区别在于 querySelector 用来获取一个元素,而querySelectorAll 可以获取多个元素。querySelector 将返回匹配到的第一个元素,如果没有匹配的元素则返回 Null。querySelectorAll 返回一个包含匹配到的元素的数组,如果没有匹配的元素则返回的数组为空。再举个例子:我们使用
querySelectorAll 给所有 class 为 emphasis 的元素加粗显示。var emphasisText
= document.querySelectorAll(".emphasis");for( var i
= 0 , j = emphasisText.length ; i < j ; i++ ){ emphasisText[i].style.fontWeight
= "bold";}(1)通配符:
id属性以code开始的所有input标签 : document.querySelectorAll("input[id^='code']");
document.querySelectorAll("input[id$='code']");
document.querySelectorAll("input[id*='code']");
(2)根据索引选择
document.querySelectorAll("tbody
tr:even");
document.querySelectorAll("tbody
tr:odd");

本文介绍了如何使用querySelector和querySelectorAll方法进行DOM操作,这两种方法支持CSS选择器语法,能够帮助开发者更高效地定位和修改页面元素。
1060

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



