Element.querySelectorAll() - Web API 接口参考 编辑

返回一个non-live的/wiki/zh-CN/docs/Web/API/Element/NodeList, 它包含所有元素的非活动节点,该元素来自与其匹配指定的CSS选择器组的元素。(基础元素本身不包括,即使它匹配。)

注意:该API的定义已被移动到 ParentNode 接口。

语法

elementList = baseElement.querySelectorAll(selectors);

其中

示例

dataset selector & attribute selectors

<section class="box" id="sect1">
  <div class="funnel-chart-percent1">10.900%</div>
  <div class="funnel-chart-percent2">3700.00%</div>
  <div class="funnel-chart-percent3">0.00%</div>
</section>
// dataset selectors
const refs = [...document.querySelectorAll(`[data-name*="funnel-chart-percent"]`)];

// attribute selectors
// const refs = [...document.querySelectorAll(`[class*="funnel-chart-percent"]`)];
// const refs = [...document.querySelectorAll(`[class^="funnel-chart-percent"]`)];
// const refs = [...document.querySelectorAll(`[class$="funnel-chart-percent"]`)];
// const refs = [...document.querySelectorAll(`[class~="funnel-chart-percent"]`)];

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

返回值是一个/wiki/zh-CN/docs/Web/API/Element/NodeList对象,所以不推荐使用 for...in去遍历它(会遍历出其他无关属性)

想要在它身上使用数组方法,必须先把它转换为真正的数组.

浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Basic support13.5 (1.9.1)8103.2 (525.3)
FeatureAndroidFirefox Mobile (Gecko)IE PhoneOpera MobileSafari Mobile
Basic support(Yes)1.0 (1.9.1)??(Yes)

规范

相关链接

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:111 次

字数:5822

最后编辑:8年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文