DOMは通常、のNodeList
ようなほとんどの操作に対してを返しますgetElementsByTagName
。
NodeList
ほとんど配列のように感じますが、そうではありません。length
配列のようなプロパティと、指定されたインデックスのオブジェクトにアクセスするためのメソッド(item(index)
表記法でもアクセス可能[index]
)がありますが、ここで類似性が終了します。
したがって、すべてを書き直さずにすばらしい配列メソッドを使用できるようにするにはNodeList
、上記の行が役立ちます。
それを配列に変換する別の使用法は、リストを静的にすることです。NodeListは通常ライブです。つまり、ドキュメントの変更が発生すると、NodeListオブジェクトは自動的に更新されます。返されたjQueryオブジェクトがすぐに変更され続けると、問題が発生する可能性があります。次のスニペットを試して、NodeListの活性をテストしてください。
var p = document.getElementsByTagName('p');
console.log(p.length); // 2
document.body.appendChild(document.createElement('p'));
// length of p changes as document was modified
console.log(p.length); // 3