|
|

楼主 |
发表于 2023-8-9 08:33
|
显示全部楼层
本帖最后由 马黑黑 于 2023-8-9 12:53 编辑
JS提供一个基于元素的克隆方法,cloneNode(deep),需要一个布尔值的 deep 参数,deep 是深的意思,deep 为真(true),则克隆元素及其所有子元素和子节点(如文本),为假,则仅克隆克隆对象。
克隆对象为元素对象,一般可以使用 document.getElementById 或 document.querySelector 等方法获取,例如:
let node = document.getElementById('#mydiv');
然后,变量 node 就可以将自己用 cloneNode 方法克隆自己,并赋值给一个节点变量:
let clone = node.cloneNode(true);
最后,要有另一个元素接收被克隆的 clone 节点变量,用 appendChild 方法追加都自己的子元素中。例如,假设我们有一个 id="cloneBox" 的div:
cloneBox.appendChild(clone);
需要额外说明的是:cloneNode 方法能将元素基于CSS的属性全部克隆,若 deep 参数为 true,子元素及其一切基于CSS的属性也一并克隆;但,cloneNode 方法不能克隆基于JS的事件。
|
|