2012-01-26 140 views
0

的開始,我有以下的javascript工作插入AJAX響應轉換成一個div id爲results添加DOM元素於母公司

document.getElementById("results").innerHTML=xmlhttp.responseText;

然而,這增加後,那些已經存在的所有新元素。我需要在插入一切之前插入新元素。

我知道這可能是非常微不足道的,但我似乎無法找到自己做。

感謝您的幫助!

+4

不,不。它取代了它們。 – Quentin

+0

[如何在使用javascript定位之前插入元素](http://stackoverflow.com/questions/6415819/how-insert-element-before-anchor-using-javascript) – Gordon

+0

現在,每個AJAX響應都會添加到div。 – lampwins

回答

2

我不記得確切的語法,但它是這樣的:

var newDiv = document.createElement("div"); 
newDiv.innerHTML=xmlhttp.responseText; 
document.getElementById("results").childNodes.addAt(0,newDiv); 

,如果你可以使用jQuery,它只是簡單:

$("#results").prepend(xmlhttp.responseText); 
+0

謝謝! – lampwins

2

你想要麼這個

results.insertAdjacentHTML('beforebegin', xmlhttp.responseText); 

或此

results.insertAdjacentHTML('afterbegin', xmlhttp.responseText); 

(可變當然results作爲一個參考的DOM元素)

所以,第一個將插入新的內容之前的元素本身(作爲一個同級),而第二個將將其插入裏面的之前的任何其他孩子)。

+0

謝謝,這也工作。 – lampwins