繁体   English   中英

为什么将元素从DOM中删除?

[英]Why is the element removed from the DOM?

使用.appendNode()时,似乎从页面中删除了原始文件-例如,clickedEl下一个同级内部节点。

为什么是这样? 这是预期的行为吗?

var textNode = clickedEl.nextElementSibling.childNodes[0];
var htmlObject = document.createElement('div');
if(video_text) htmlObject.appendChild(textNode);

在FF 65.0.1中测试

您正在使用textNode并将其附加到htmlObject 这会将节点从其原始位置移动到新位置。

如果要附加原始节点的副本,则可以首先克隆它:

var textNode = clickedEl.nextElementSibling.childNodes[0].cloneNode();
var htmlObject = document.createElement('div');
if(video_text) htmlObject.appendChild(textNode);

请注意,这不会将事件侦听器复制到克隆的节点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM