200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > getElementById与querySelector的区别

getElementById与querySelector的区别

时间:2020-05-02 10:52:37

相关推荐

getElementById与querySelector的区别

getElementById与querySelector的区别

首先对获取元素的几个方法有所了解

getElementById():返回对拥有指定id的第一个对象的引用getElementsByName():返回带有指定名称name的对象的集合。返回的是元素的数组,而不是一个元素(由于name不唯一)getElementsByTagName():返回带有指定标签名的对象集合

querySelector():返回文档中匹配指定CSS选择器第一个元素querySelectorAll():返回文档中匹配的CSS选择器的所有元素节点列表(h5新增)

document.querySelector("p")//获取文档中第一个 <p> 元素:document.querySelector("#demo")//获取文档中id="demo"的元素document.querySelector(".example"); //获取文档中第一个 class="example" 的元素document.querySelector("p.example"); //获取文档中 class="example"的第一个 <p> 元素...... 还可以写CSS的并集选择器、复合选择器等等。按照css规范来实现。

要知道的是querySelector()方法仅仅返回匹配指定选择器的第一个元素。你可以使用querySelectorAll() 方法替代去返回匹配指定选择器的所有的元素。返回的是节点列表NodeList 对象,可以通过索引访问,索引值从0开始。

例如:

// 获取文档中所有的 <p> 元素var x = document.querySelectorAll("p"); // 通过索引访问,设置第一个 <p> 元素的背景颜色x[0].style.backgroundColor = "red";

由于querySelector是按css规范来实现的,所以它传入的字符串中第一个字符不能是数字

前三种getxxxByxxx获取的是动态集合,而querySelector获取的是静态集合。

简单的说就是,动态就是选出的元素会随文档改变,静态的不会,取出来之后就和文档的改变无关了。

getElementById性能更好,而querySelector按照CSS选择器规范,当在多级查找时,更为方便。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。