Javascript .appendChild()单击时显示HTML元素

Javascript .appendChild()单击时显示HTML元素,javascript,jquery,appendchild,Javascript,Jquery,Appendchild,我想在单击按钮时复制整行,包括它的同级和内容。当我单击该元素的按钮时,它会出现在控制台中,但不会附加到页面中。这是我的代码: 它不会显示任何错误消息。我试过innerHTML/outerHTML或append(),但不起作用 $(document).ready(function() { $('#addSubFBtn').on('click', function() { var itm = document.getElementById("trFb");

我想在单击按钮时复制整行,包括它的同级和内容。当我单击该元素的按钮时,它会出现在控制台中,但不会附加到页面中。这是我的代码:

它不会显示任何错误消息。我试过innerHTML/outerHTML或append(),但不起作用

$(document).ready(function() {

    $('#addSubFBtn').on('click', function() {
        var itm = document.getElementById("trFb");
        var wrapper = document.createElement('div');
        var el = wrapper.appendChild(itm);
        document.getElementById("tbFb").append(el);
        console.log(el);
    });
});

看起来您试图做的是在从文档中获取项目后克隆该项目。W3schools网站解释了如何实现这一点。查看链接:

克隆节点后,[appendchild]应按预期工作

不确定(如前所述,未看到相关HTML),但我发现您的逻辑存在缺陷:

var itm=document.getElementById(“trFb”)
仍然存在于文档中(因此在页面中),因此您必须先检索它,然后才能将其添加/移动到其他位置。
使用.removeElement将返回已删除的元素(如果没有元素与选择器匹配,则返回null),因此正确的脚本应为:

var itm=document.getElementById(“trFb”).parentNode.removeChild(document.getElementById(“trFb”)
如图所示,要删除元素,必须对父元素使用方法。
因此,您可以将其添加到现有的任何其他元素中。

有关在全局JS变量(例如尚未附加的createElement)中创建的元素的更具体用途,请参见:
document.createDocumentFragment()如本文所述

当您使用开发工具检查元素“tbFb”时,最好能看到HTML的一部分以获得进一步的上下文,是否存在任何子元素?最好在这里演示一下: