Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将DOM元素添加到父元素的开头_Javascript_Ajax - Fatal编程技术网

Javascript 将DOM元素添加到父元素的开头

Javascript 将DOM元素添加到父元素的开头,javascript,ajax,Javascript,Ajax,我使用以下javascript将AJAX响应插入到id为results的div中: document.getElementById(“结果”).innerHTML=xmlhttp.responseText 但是,这会在已经存在的元素之后添加所有新元素。我需要先插入新元素,然后再插入其他元素 我知道这可能很琐碎,但我似乎找不到任何方法来自己做 谢谢你的帮助 我不记得确切的语法,但它有点像: var newDiv = document.createElement("div"); newDiv.inn

我使用以下javascript将AJAX响应插入到id为
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);