我正在尝试将内容附加到模板标签中。我在用

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,并将其附加到fragment中,然后将fragment附加到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/

10-13 04:52