Javascript 如何从两个或多个DOMNodes创建NodeList对象
例如,我有两个DOMNodes:Javascript 如何从两个或多个DOMNodes创建NodeList对象,javascript,dom,dom-node,Javascript,Dom,Dom Node,例如,我有两个DOMNodes: 设node1=document.querySelector(“#node-1”); 设node2=document.querySelector(“#node-2”); 如何将它们组合成节点列表对象?是否有类似于array.push(item)的简单解决方案?您可以将两个节点添加到文档片段中: var docFragment = document.createDocumentFragment(); docFragment.appendChild(node1);
设node1=document.querySelector(“#node-1”);
设node2=document.querySelector(“#node-2”);
如何将它们组合成节点列表对象?是否有类似于
array.push(item)
的简单解决方案?您可以将两个节点添加到文档片段中:
var docFragment = document.createDocumentFragment();
docFragment.appendChild(node1);
docFragment.appendChild(node2);
如果你真的想让他们成为节点列表中的一员,那么:
var list = docFragment.querySelectorAll('*');
缺点是,一旦将节点附加到文档片段,就可以从实际文档中删除它们。您可以将这两个节点添加到文档片段中:
var docFragment = document.createDocumentFragment();
docFragment.appendChild(node1);
docFragment.appendChild(node2);
var nList = document.querySelectorAll('[id^="node"]');
如果你真的想让他们成为节点列表中的一员,那么:
var list = docFragment.querySelectorAll('*');
缺点是,只要将节点附加到文档片段,就可以将它们从实际文档中删除
var nList = document.querySelectorAll('[id^="node"]');
收集id以“node”开头的所有节点
var nList=document.querySelectorAll('[id^=“node”]');
对于(变量i=0;i
node-1
节点2
notnode-3
检查控制台(F12,然后选择“控制台”选项卡)
收集id以“node”开头的所有节点
var nList=document.querySelectorAll('[id^=“node”]');
对于(变量i=0;i
node-1
节点2
notnode-3
检查控制台(F12,然后选择“控制台”选项卡)
将此视为Orr Siloni答案的补充:
如果我们不想从DOM中删除节点,我们可以使用
node.cloneNode()
添加节点副本,将此视为Orr Siloni答案的补充:
如果我们不想从DOM中删除节点,我们可以使用
node.cloneNode()
在文档片段和节点列表之间有区别吗?在API中。从技术上讲,文档片段包含HTMLCollection,但在大多数实际应用中,它与节点列表相同。文档片段和节点列表之间有区别吗?在API中,文档片段在技术上包含HTMLCollection,但在大多数实际应用中,它与节点列表相同。