2017-01-28 18 views
1

これは私の現在のjqueryコードです。これはvanilla jsで欲しいものです。jquery to vanilla js; htmlタグの各ループ

var elems = []; 

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

は、私が見つけた最も近い代替は document.getElementsByTagName("*") だったが、それはまだ私が私の配列にしたくないのiframe、スタイル、およびスクリプトタグを、持っています。

また、タグ名でそれらを削除することはできません。具体的には、IDまたはクラスが関連付けられている可能性があります。

答えて

6

1つのオプションは、.querySelectorAll() methodとともにCSSセレクタを使用することです。

CSSには:not() pseudo-classがあるので、それを使用してscript,style、およびiframe要素を否定できます。上記のスニペットにおいて

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

elementsは、選択された要素の集合を含むNodeListあろう。

+0

これは完璧に機能しました!私はすぐにstackoverflow私にすることができますように正しいとマークします、おかげで束! – harryparkdotio

+0

はい、それは私がとにかく、ノーベルリストを使用していたものです。 – harryparkdotio