我想克隆一个只有1级孩子的Node,所以没有孩子的孩子。
<div data-a>
<div> data-a1>
<div data-a11>
<p> fdsafdsafds</p>
</div>
</div>
</div>
如果我将最后一个级别作为目标
target.parentNode.parentNode.cloneNode(true)
将克隆所有级别,我希望克隆数据-a,包括data-a1但data-a1没有子级。
可以删除/添加克隆与否的子项,基于深度级别或其属性(仅使用具有或不具有指定属性的子项克隆父级)?
我基于属性,如果我将有更多深度级别的东西,而不是使用递归的parentNode.parentNode。
答案 0 :(得分:1)
只是尝试删除第一个innerHTML
children
var dupeNode = target.parentNode.parentNode.cloneNode(true);
dupeNode.children[0].innerHTML = "";
<强>演示强>
var target = document.querySelector( "p" );
var dupeNode = target.parentNode.parentNode.parentNode.cloneNode(true);
dupeNode.children[0].innerHTML = "";
//console.log(dupeNode.outerHTML);
document.querySelector( "#container" ).appendChild( dupeNode );
<div id="container">
<div data-a=""> data-a level text to be cloned
<div data-a1="">
<div data-a11="">
<p> fdsafdsafds</p>
</div>
</div>
</div>
</div>