概述
返回一个non-live的NodeList对象,这个对象将会包含调用querySelectorAll()方法的那个DOM对象的所有后代元素中匹配指定css选择器的元素们.
语法
elementList = baseElement.querySelectorAll(selectors);
其中
示例
下面的例子返回了HTML文档中的body元素的所有元素:p后代
var matches = document.body.querySelectorAll('p');
下面的例子返回了id为'test'的元素的所有class属性为'highlighted'的所有div后代元素的p子元素:
var el = document.querySelector('#test');
var matches = el.querySelectorAll('div.highlighted > p');
下面的例子返回了el元素的后代元素中所有拥有data-src属性的iframe元素:
var matches = el.querySelectorAll('iframe[data-src]');
附注
如果指定的CSS选择器不合法,则会抛出一个SYNTAX_ERR 异常.
返回值是一个NodeList对象,所以不推荐使用 for...in去遍历它(会遍历出其他无关属性)
想要在它身上使用数组方法,必须先把它转换为真正的数组.
浏览器兼容性
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|
| Basic support | 1 | 3.5 (1.9.1) | 8 | 10 | 3.2 (525.3) |
| Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|
| Basic support | (Yes) | 1.0 (1.9.1) | ? | ? | (Yes) |