我试图遍历页面上的所有元素,所以我想检查此页面上存在的每个元素是否有特殊类。
因此,怎么说我要检查每个元素?
您可以将传递给*
,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] 删除。
我来说两句