2012-01-26 107 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