我正在尝试将内容附加到模板标签中。我正在使用
getcontent("clients.json").then(function(x){
obj = JSON.parse(x);
}).then(function(x){
var x = createFullList(obj,docFragment);
filtered = obj;
return x;
}).then(function(x){
template .appendChild(x);
var clone = document.importNode(template.content, true);
alert(clone.children.length);
aside.appendChild(clone)
});
getcontent 是返回响应的 ajax 调用,响应被解析并作为对象存储在 obj 变量中,
createFullList 为 ajax 响应中的每个元素创建 div 并将其附加到片段中,然后片段附加到同样返回的 div 中,
function createFullList( obj , fragment ){
var aside = document.getElementsByClassName("one")[0];
for( x in obj ){
createInfoElement( fragment , obj[x].general , obj[x].job , x);
}
var div = document.createElement("div");
div.appendChild(fragment);
deleteKid( aside , 1 );
return div;
}
让我烦恼的是追加到模板中,它什么也没做,当我尝试复制它的内容时,它说它有 0 个 child ,我想如果我打印 div 的 child ,它会打印正确的数字。
为什么内容没有附加到模板中?这是正确的方法还是有任何特定的方法可以正确地将内容附加到模板中?
最佳答案
您应该将片段附加到 template.content
而不是 template
:
template.content.appendChild( x )
关于javascript - 将内容附加到模板标签中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37898043/