element.querySelector()与document.querySelector()不同吗?

时间:2015-05-24 19:31:52

标签: javascript dom

查看mdn“querySelector”会在两个部分下弹出,但它们似乎都达到了相同的目的。对于不同的情况,哪一个是理想的? ......或者它们基本上在功能上是一样的吗?

https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector https://developer.mozilla.org/en-US/docs/Web/API/Element/querySelector

2 个答案:

答案 0 :(得分:4)

使用Element.querySelector()效率更高,因为与Document.querySelector()相比,您引用的是更窄的目标;

以这两种方式,您都可以访问the DOM tree,但由于起始点始终是document使用Document.querySelector(),您将完全从根目录穿越dom直到孩子元素将匹配。

另一方面,Element已经是对某个节点的引用,因此查询不会从root开始,随之而来的就是...

答案 1 :(得分:3)

唯一的区别是查询的根源。 element.querySelector仅搜索元素的子元素。因为范围较窄,所以效率更高。