2017-10-12 47 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)); 
相关问题