Element.querySelectorAll()

3 位贡献者:

概述

返回一个non-live的NodeList对象,这个对象将会包含调用querySelectorAll()方法的那个DOM对象的所有后代元素中匹配指定css选择器的元素们.

语法

elementList = baseElement.querySelectorAll(selectors);

其中

  • elementList会是一个non-live的NodeList对象.
  • baseElement是一个元素对象.
  • selectors是一组CSS选择器.

示例

下面的例子返回了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)

规范

相关链接

文档标签和贡献者

向此页面作出贡献: teoli, AlexChao, ziyunfei
最后编辑者: AlexChao,