querySelector与querySelectorAll

querySelector

  返回匹配到的第一个元素,如果没有则返回Null。
querySelectorAll

  返回一个包含匹配到的元素的数组,如果没有则返回的数组为空

参数可以包含多个CSS选择器,用逗号隔开,与css选择器一致, 但无法查找带伪类状态的元素,比如querySelector(':hover')不会得到预期结果。

参数支持转义,但注意,反斜杠本身也需要转义

返回的nodeList集合中的元素是非实时(no-live)的,也就是如果元素有改变,不会实时反映。但是getElement(s)ById/tagName则是实时的。


Element.querySelectorAll和jQuery(element).find(selector)选择器的区别:

<div id="test"><ahref="http://www.baidu.com/"></a></div>
var d1 = document.getElementById('test');
obj2 = d1.querySelectorAll('div a');
obj3 = $(d1).find('div a');
console.log(obj1)//<a href="http://www.baidu.com/"></a>
console.log(obj3)//null

querySelectorAll 在文档内找全部符合选择器描述的节点包括Element本身
jQuery(element).find(selector) 在文档内找全部符合选择器描述的节点不包括Element本身

原文地址:https://www.cnblogs.com/jingwensophie/p/4780189.html