gpt4 book ai didi

javascript - 克隆节点真正只有一级

转载 作者:行者123 更新时间:2023-12-03 02:55:47 25 4
gpt4 key购买 nike

我想克隆一个只有 1 级子节点的节点,因此没有子节点的子节点。

<div data-a>
<div> data-a1>
<div data-a11>
<p> fdsafdsafds</p>
</div>
</div>
</div>

如果我将最后一个级别作为目标

target.parentNode.parentNode.cloneNode(true) 将克隆所有级别,我希望克隆 data-a 包括 data-a1 但 data-a1 没有子级。

可以根据深度级别或其属性删除/添加克隆或不克隆的子级(仅克隆具有或不具有指定属性的子级的父级)?

如果我有更深度级别的东西,我会根据属性进行判断,而不是使用递归的parentNode.parentNode。

最佳答案

尝试删除第一个子级innerHTML

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>

关于javascript - 克隆节点真正只有一级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47633915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com