2016-06-18 11 views
2

テンプレートタグにコンテンツを追加しようとしています。私はテンプレートタグにコンテンツを追加する

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; 
} 

何悩み私はテンプレートに追加され、それは私がそのコンテンツをコピーしようとすると、それは私が子供を印刷altoughtた場合、それは0人の子供を持っていると言う、のnothinありませんそれは正しい印刷するdiv番号。

なぜテンプレートに追加されないコンテンツですか?これは正しい方法ですか、コンテンツをテンプレートに正しく追加する方法がありますか?

var obj; 
getcontent("clients.json").then(function(x){ 
    obj = JSON.parse(x); 
}).then(function(){ 
    var x = createFullList(obj, docFragment); 
    filtered = obj; 

    template.appendChild(x); 
    var clone = document.importNode(template.content, true); 
    alert(clone.children.length); 
    aside.appendChild(clone) 

    return(x); 
}); 

私はあなたがtemplate.appendChild()は、それが参照している範囲では利用できない変数を参照しようとしていると信じて:あなたはそうのように、ただ1 then()使用している場合はどう

答えて

0

+0

私は(x.children.length)を警告しようとすると、これは、そうではありません、それは子供の適切な量を出力します。また、私はそれを試したことを確認し、動作は同じままです。 – Darlyn

0

あなたはtemplate.contentの代わりtemplateにフラグメントを追加する必要があります

template.content.appendChild(x) 
関連する問題