繁体   English   中英

.appendChild()单击HTML元素

[英].appendChild() an HTML element on click

我想复制整个行,包括其兄弟姐妹和单击按钮时的内容。 当我单击按钮时,该元素会出现在控制台中,但不会追加到页面上。 这是我的代码:

它不显示任何错误消息。 我试过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网站介绍了如何实现此目的。 查看链接: https : //www.w3schools.com/jsref/met_node_clonenode.asp

克隆节点后,[appendchild]应该可以正常工作

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

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

var itm=document.getElementById("trFb").parentNode.removeChild(document.getElementById("trFb")); 如此处所示,要删除元素,您必须对父元素使用method。 因此,您可以将其添加到现有的任何其他元素中。 有关在全局JS变量中创建的更特定的用法或元素(例如尚未添加的createElement),请参见: document.createDocumentFragment(); 如此处所述https://developer.mozilla.org/zh-CN/docs/Web/API/Document/createDocumentFragment

暂无
暂无

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

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