Javascript 将DOM元素添加到父元素的开头
我使用以下javascript将AJAX响应插入到id为Javascript 将DOM元素添加到父元素的开头,javascript,ajax,Javascript,Ajax,我使用以下javascript将AJAX响应插入到id为results的div中: document.getElementById(“结果”).innerHTML=xmlhttp.responseText 但是,这会在已经存在的元素之后添加所有新元素。我需要先插入新元素,然后再插入其他元素 我知道这可能很琐碎,但我似乎找不到任何方法来自己做 谢谢你的帮助 我不记得确切的语法,但它有点像: var newDiv = document.createElement("div"); newDiv.inn
results
的div中:
document.getElementById(“结果”).innerHTML=xmlhttp.responseText代码>
但是,这会在已经存在的元素之后添加所有新元素。我需要先插入新元素,然后再插入其他元素
我知道这可能很琐碎,但我似乎找不到任何方法来自己做
谢谢你的帮助 我不记得确切的语法,但它有点像:
var newDiv = document.createElement("div");
newDiv.innerHTML=xmlhttp.responseText;
document.getElementById("results").childNodes.addAt(0,newDiv);
如果您可以使用jQuery,那么它就很简单:
$("#results").prepend(xmlhttp.responseText);
你要这个还是这个
results.insertAdjacentHTML( 'beforebegin', xmlhttp.responseText );
还是这个
results.insertAdjacentHTML( 'afterbegin', xmlhttp.responseText );
(变量results
当然是对DOM元素的引用)
因此,第一个将在元素本身之前插入新内容(作为以前的同级),第二个将在元素内部任何其他子元素之前插入新内容。使用现代js,您可以使用。现在
e、 g
ParentNode.prepend(newDiv);
此外,它会自动将文本转换为文本节点,因此您可以针对您的用例执行以下操作:
document.getElementById("results").prepend(xmlhttp.responseText);
不,没有。现在,每个AJAX响应都被添加到div中。并且,请指出为什么没有一个有助于回答您的问题“属性'addAt'在类型'NodeListOf'上不存在”
document.getElementById("results").prepend(xmlhttp.responseText);