2016-05-29 9 views
0
function sort(type) { 

//EMPTY FUNCTION IS CALLED HERE FOR REMOVING ALL PREVIOUSLY CREATED CHILD DIVS 

$("#parentDiv").empty(); 
$.get("http://www.omdbapi.com/?s=Batman&page=2", ({ Search }) => { 
    Search.sort((a, b) => a[type] > b[type]); 
    console.log(`Sorted by: ${type}`); 
    console.log("movies are displayed!!"); 
    var i; 

ここではdiv要素を作成するためのループを開始します。この関数をもう一度呼び出すと、子divが再び作成されます。

for(i=0;i<Search.length;i++){ 
    var title=Search[i].Title; 
    var year=Search[i].Year; 

h2とpが存在する子divを含むparent div。

var parentDiv=document.createElement("div"); 
    parentDiv.setAttribute("id","parentDiv"); 
    parentDiv.setAttribute("id","childDiv"); 

子のdivとH2さんとpの意思と子のdivに追加するには、ここから始まる

var childDiv=document.createElement("div"); 
    var movieElement=document.createElement("h2"); 
    movieElement.setAttribute("id","moviename"); 
    var yearElement=document.createElement("p"); 
    yearElement.setAttribute("id","year"); 
    childDiv.appendChild(movieElement); 
    childDiv.appendChild(yearElement); 
    parentDiv.appendChild(childDiv); 
    document.body.appendChild(parentDiv); 

    //document.getElementsByTagName("h2")[i].innerHTML="<b>" + title + "</b><br>"; 
    //document.getElementsByTagName("p")[i].innerHTML= year + "<br>"; } 
}); 

}

この機能は私がきても、子のdivが再び作成された第2の時間と呼ばれる

親divの要素を最初に空にして(2行目のsort関数で)、最初の子divを作成します。

function show(){ 
var z=document.getElementById("sortOrder").value; 
sort(z); 
//sort(Year) 
//sort(title) 
}; 

答えて

0

それはタイプミスでない限り、あなたはあなたの親のdivのidを上書きしている:

var parentDiv=document.createElement("div"); 
parentDiv.setAttribute("id","parentDiv"); 
parentDiv.setAttribute("id","childDiv"); // <-- 
+0

なしにそのまま親のdivも常に作成されていますそれはうまくいかなかった –

0

問題は、それがループのように空に削除し

関連する問題