2017-10-12 74 views
0

我有單獨的模板文件(html)。我需要加載此生成的HTML對象的主網頁幾次,所以我做的下一件事:HTMLElement未添加到DOM。爲什麼?

const path = "/templates/news.tpl.html"; 
const template = await Dbc.Dom.loadTemplate({ 
    id : "news-block", 
    path: path 
}); 

document.body.appendChild(template); 
document.body.appendChild(template); 

首先,功能從文件中的內容並把它添加到當前的DOM。作爲返回值,它返回添加的HTMLElement對象。

我嘗試在此之後再次添加此對象,然後使用標準方式,通過document.body.appendChild()函數,但我只能看到當前DOM中的單個模板對象。

+0

所以_one_'_is_添加HTMLElement',對不對?然後一切按預期工作。你不能追加同一個對象兩次,並期望它被複制。如果你想要兩個元素,你需要創建第二個元素。追加只會向DOM中添加一個新對象,前提是它不在DOM中。如果有的話,再次追加它只是改變它在DOM中的位置。 – Xufox

+0

我應該如何創建另一個對象,是否有函數克隆創建的模板? – Jack

回答

2

追加孩子只是取代你的對象,如果你嘗試幾次你的對象將在最後的地方apear。 您應該使用cloneNode

排序是:

document.body.appendChild(template); 
document.body.appendChild(template.cloneNode(true)); 
相關問題