简介
HTML5向Web API新引入了document.querySelector以及document.querySelectorAll两个方法用来更方便地从DOM选取元素,功能类似于jQuery的选择器。这使得在编写原生JavaScript代码时方便了许多。
用法
======
两个方法使用差不多的语法,都是接收一个字符串参数,这个参数需要是合法的CSS选择语法。
<pre>
element = document.querySelector('selectors');
elementList = document.querySelectorAll('selectors');
</pre>
其中参数selectors 可以包含多个CSS选择器,用逗号隔开。
<pre>
element = document.querySelector('selector1,selector2,...');
elementList = document.querySelectorAll('selector1,selector2,...');
</pre>
使用这两个方法无法查找带伪类状态的元素,比如<b>querySelector(':hover')</b>不会得到预期结果。
querySelector
<pre>
element = document.querySelector('div#container');//返回id为container的首个div
element = document.querySelector('.foo,.bar');//返回带有foo或者bar样式类的首个元素
</pre>
querySelectorAll
该方法返回所有满足条件的元素,结果是个nodeList集合。查找规则与前面所述一样。
<pre>elements = document.querySelectorAll('div.foo');//返回所有带foo类样式的div</pre>
需要注意的是返回的nodeList集合中的元素是非实时的.