HTMLElement未添加到DOM中。为什么?

时间:2017-10-12 15:03:15

标签: javascript html templates dom

我有单独的模板文件(html)。我需要多次将这个生成的HTML对象加载到主页面,所以我接下来要做的事情:

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中的单个模板对象。

1 个答案:

答案 0 :(得分:2)

追加孩子只是替换你的对象,如果你尝试几次你的对象将在最后一个地方出现。 你应该使用cloneNode

有点这样:

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