2016-10-19 5 views
1

選択ノードへの参照であるノードリストを作成するにはどうすればよいですか? 例document.querySelectorAll( 'tr')は、ページ上のすべてのtr要素ノード参照を含むノードリストを返します。 検索基準で要素のノードリスト参照を返す方法を書いています。Javascript構築要素参照ノードリスト

しかし、もし私がのinsertBefore、appendChildなどを使用していれば、この関数は要素からノードを削除します。 例は、私は4x4のテーブルを持っている、と私は最初の2行を返したい:テーブルの

var nl = document.createDocumentFragment(); 
el = document.querySelectorAll('tr'); 
for (var a = 0; a < 2 && a < el.length; a++) 
{ 
    nl.appendChild(el[a]); 
} 
console.log(nl); 

このNL戻って最初の2行が、それはドキュメントから削除されます。 DOMから削除され、子としてnlに追加されます。

querySelectorAllのようなノード参照のみをリストとして取得したいのですが、これはdocumentFragment childNodesではありません。

これを実現する方法はありますか?

答えて

0

DOM内で物事を移動したくない場合は、物事を移動するメソッドを使用しないでください。

var nl = new Array(); 
var el = document.querySelectorAll('tr'); 
for (var a = 0; a < 2 && a < el.length; a++) 
{ 
    nl.push(el[a]); 
} 
+0

うわーは魅力的です。ちょうど私はちょっとcofused、document nodeList配列、そのコレクション、ちょうど配列のようなものではありません。 –

+0

私はあなたが何を求めているかは分かりません。 javascriptにはコレクションと呼ばれるものはありません。 –

+0

ちょっとドキュメント: NodeListとは何ですか? ノードリストは配列のコレクションとよく似ていますが、しばしば「配列のようなもの」と呼ばれますが、微妙な違いがあります。コレクションをNodeListとして保持することで、多くのJavaScript機能を失ってしまいます配列の反復とプロトタイプのメソッド ソース:[DOM Doc](https://toddmotto.com/a-comprehensive-dive-into-nodelists-arrays-converting-nodelists-and-understanding-the-dom/) –