簡體   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