体のすべての要素を配列に入れ、その後それらのそれぞれをループする「最速」(最も効率的な)方法は何ですか?
質問する
8406 次
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 に答える