使用.appendNode()时,似乎从页面上删除了原始文件-例如clickedEl下一个同级内部节点。
这是为什么?这是预期的行为吗?
var textNode = clickedEl.nextElementSibling.childNodes[0];
var htmlObject = document.createElement('div');
if(video_text) htmlObject.appendChild(textNode);
在FF 65.0.1中进行了测试
答案 0 :(得分:1)
您正在使用textNode
并将其附加到htmlObject
。这会将节点从其原始位置移动到新位置。
如果要附加原始节点的副本,可以先clone对其进行复制:
var textNode = clickedEl.nextElementSibling.childNodes[0].cloneNode();
var htmlObject = document.createElement('div');
if(video_text) htmlObject.appendChild(textNode);
请注意,这不会将事件侦听器复制到克隆的节点。