Javascript:如何遍历页面上的所有DOM元素?

弗洛里安·穆勒(FlorianMüller):

我试图遍历页面上的所有元素,所以我想检查此页面上存在的每个元素是否有特殊类。

因此,怎么说我要检查每个元素?

安迪E:

您可以将传递给*getElementsByTagName()以便它将返回页面中的所有元素:

var all = document.getElementsByTagName("*");

for (var i=0, max=all.length; i < max; i++) {
     // Do something with the element here
}

请注意,您可以使用querySelectorAll()(如果可用)(IE9 +,IE8中的CSS)来查找具有特定类的元素。

if (document.querySelectorAll)
    var clsElements = document.querySelectorAll(".mySpeshalClass");
else
    // loop through all elements instead

对于现代浏览器来说,这无疑会加速事情的发展。


浏览器现在在NodeList上支持foreach这意味着您可以直接循环元素,而不必编写自己的for循环。

document.querySelectorAll('*').forEach(function(node) {
    // Do whatever you want with the node object.
});

性能说明 -尽最大努力确定您要寻找的内容。通用选择器可以根据页面的复杂性返回很多节点。即使您确实需要浏览别人可能看到的'body *'所有head内容,这也意味着您可以用作选择器来剪切所有内容。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在JSP页面上遍历所有模型属性?

如何使代码遍历页面上的所有项目?

如何使Polymer元素占据页面上的所有垂直空间?

如何获取页面上除div之外的所有元素

如何使用 DOM 可用的所有输出遍历 JavaScript for 循环

如何定位页面上的所有输入?

如何遍历DOM并显示所有标签?

如何遍历站点中的所有页面?

如何让javascript遍历其他页面元素

如何检测页面上是否加载了dom元素

遍历所有页面

遍历所有DOM元素的最有效方法?

是否可以在页面上显示所有元素:flex(flexbox)?

删除页面上包含特定单词的所有元素:

BeautifulSoup不会返回页面上的所有元素

加载动画并锁定页面上的所有元素

捕获页面上所有元素的屏幕截图

如何遍历所有选择的多个元素?

如何遍历从getElementsByTagName返回的所有元素

CsQuery:如何遍历所有元素?

如何遍历IMongoCollection <>并打印所有元素?

javascript-在所有页面上隐藏光标(即使有css在某些元素上表示相反)

如何使用Javascript或jQuery突出显示单词在页面上的所有出现?

如何在我网站的所有不同页面上运行JavaScript函数?

如何以编程方式在所有页面上加载JavaScript文件

如何使用 javascript/jQuery 遍历充满 HTML 元素的文本中的所有元素

如何使用 javascript/jQuery 遍历充满 HTML 元素的文本中的所有元素

如何覆盖散景上的方法?如何检查所有元素是否已经在页面上呈现?

使用 javascript 查找页面上的所有非导航链接