【发布时间】:2017-09-16 10:01:51
【问题描述】:
在 Javascript 中,我试图动态创建一个 HTML <template> 元素,附加一个 <h1> 元素作为其子元素,克隆模板的内容,然后将模板附加到文档正文。
问题是当我访问模板的content 属性时,它只返回#document-fragment。
代码如下:
var temp = document.createElement('template');
var h1 = document.createElement('h1');
h1.textContent = 'hello';
var div = document.createElement('div').appendChild(h1)
temp.appendChild(div)
console.log('temp: ', temp)
console.log('temp content: ', temp.content)
var c = document.importNode(temp.content, true)
document.body.appendChild(c)
这是console.log's 的输出:
我在这里做错了什么?为什么模板的内容显示为空?
【问题讨论】:
-
div被“剥离”了,因为appendChild函数返回子元素 (h1) 而不是父元素 (div)。 -
@Titus 好吧。我以为我将孩子附加到
div,然后返回div。感谢您指出这一点。
标签: javascript html web-component html5-template