我在一个地方有一个div,我想将其移到另外两个地方。我有两个父标签的ID和可移动的spanEN。当我appendChild它只适用于parentHeader.appendChild(spanEN);

        var parentNav = document.getElementById('js-liveChatParentNav');
        var parentHeader = document.getElementById('js-liveChatParentHeader');

        var spanEN = document.getElementById("js-chat-sourceEN").childNodes[1];

        parentNav.appendChild(spanEN );
        parentHeader.appendChild(spanEN );


在控制台中,我看到了这一点:一个appendChild有效,而另一个则无效。

javascript - 当我尝试移动跨度时,appendChild不起作用-LMLPHP

最佳答案

当您使用appendChild附加DOM中已经存在的元素时,该元素将被移动而不是被克隆。如果要克隆它,可以通过cloneNode

parentNav.appendChild(spanEN);
parentHeader.appendChild(spanEN.cloneNode(true));
// ----------------------------^^^^^^^^^^^^^^^^


true的意思是“克隆此节点及其后代”。

关于javascript - 当我尝试移动跨度时,appendChild不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39729579/

10-12 06:38