4

体のすべての要素を配列に入れ、その後それらのそれぞれをループする「最速」(最も効率的な)方法は何ですか?

4

4 に答える 4

3

私はこれを提案します:

var items = document.body.getElementsByTagName("*");
for (var i = 0, len = items.length; i < len; i++) {
    // do something with items[i] here
}
于 2013-10-19T17:18:59.373 に答える
3

jqueryでスターセレクターを使用できます。

var allElems=$('body').find('*');

allElems はオブジェクトのような配列になるため、for ループを作成したり、jquery each メソッドを使用してすべてを処理したりできます。お気に入り

allElems.each(function(){
     var elm=this, //javascript DOM object
         $elm=$(this) //jquery object for element.

});

JavaScript を使いたいだけの場合は、querySelectorAll dom メソッドを使用できます。

var allElems=document.body.querySelectorAll('*'); // new browser support

また

var allElems=document.body.getElementsByTagName('*'); //all browser support

for ループを使用してすべての要素を通過できます。

于 2013-10-19T17:12:02.593 に答える
2

以下を使用できます。

var els = document.body.querySelectorAll( '*' ),
    len = els.length, i = 0;

for ( ; i < len; i++ )
    console.log( els[i] );

querySelectorAll のブラウザー サポート: http://caniuse.com/#feat=queryselector

ライブ NodeList を返す とはquerySelectorAll異なり、 が静的な NodeListを返すことに注意してください。getElementsByTagName

于 2013-10-19T17:23:30.757 に答える