jquery to vanilla js;每个循环的html标签

时间:2017-01-28 23:17:19

标签: javascript jquery html arrays dom

所以这是我当前的jquery代码,我想在vanilla js。

var elems = [];

$("*").not('script, style, iframe').each(function() {
    elems.push($(this)[0]);
});

我找到的最接近的选择是 document.getElementsByTagName("*") 但是仍然有iframe,样式和脚本标签,我不希望在我的阵列中使用。

此外,我不能专门删除它们的标记名称,因为它们可能有ID或与之关联的类。

1 个答案:

答案 0 :(得分:6)

一种选择是使用CSS选择器和.querySelectorAll() method

由于CSS有:not() pseudo-class,您可以使用它来否定scriptstyleiframe元素。

var elements = document.querySelectorAll('*:not(script):not(style):not(iframe');

在上面的代码段中,elements将是NodeList,其中包含所选元素的集合。