1

たとえば、次の 2 つの DOMNode があります。 let node1 = document.querySelector('#node-1'); let node2 = document.querySelector('#node-2');

それらを NodeList オブジェクトに結合するにはどうすればよいですか? のような簡単な解決策はありarray.push(item)ますか?

4

3 に答える 3

5

両方のノードをドキュメント フラグメントに追加できます。

var docFragment = document.createDocumentFragment();
docFragment.appendChild(node1);
docFragment.appendChild(node2);

本当に NodeList に入れたい場合は、次のようにします。

var list = docFragment.querySelectorAll('*');

これの欠点は、ノードをドキュメント フラグメントに追加するとすぐに、実際のドキュメントからノードを削除することです。

于 2016-03-13T11:53:09.600 に答える
1
var nList = document.querySelectorAll('[id^="node"]');

「node」で始まる ID を持つすべてのノードを収集します。

var nList = document.querySelectorAll('[id^="node"]');
for (var i = 0; i < nList.length; i++) {
  var node = nList[i].id;
  console.log('Node: ' + node);
}
<div id="node-1">node-1</div>
<div id="node-2">node-2</div>
<div id="notnode-3">notnode-3</div>
<div id="check">Check the console (F12, then choose the 'console' tab)</div>

于 2016-03-13T12:04:32.020 に答える
1

これを Orr Siloni の回答への追加と考えてください。

ノードを DOM から削除したくない場合は、 を使用してノードのコピーを追加できますnode.cloneNode()

于 2018-10-18T07:04:27.477 に答える