所以这是我当前的jquery代码,我想在vanilla js。
var elems = [];
$("*").not('script, style, iframe').each(function() {
elems.push($(this)[0]);
});
我找到的最接近的选择是
document.getElementsByTagName("*")
但是仍然有iframe,样式和脚本标签,我不希望在我的阵列中使用。
此外,我不能专门删除它们的标记名称,因为它们可能有ID或与之关联的类。
答案 0 :(得分:6)
一种选择是使用CSS选择器和.querySelectorAll()
method。
由于CSS有:not()
pseudo-class,您可以使用它来否定script
,style
和iframe
元素。
var elements = document.querySelectorAll('*:not(script):not(style):not(iframe');
在上面的代码段中,elements
将是NodeList
,其中包含所选元素的集合。