我使用AJAX将数据追加到<div>元素,其中我从JavaScript填充<div>。我怎么能追加新的数据<div>而不丢失以前的数据在其中找到?


当前回答

下面的方法不像其他方法那么通用,但是当您确定div的最后一个子节点已经是文本节点时,它非常有用。这样就不会使用appendData MDN Reference appendData创建新的文本节点

let mydiv = document.getElementById("divId");
let lastChild = mydiv.lastChild;

if(lastChild && lastChild.nodeType === Node.TEXT_NODE ) //test if there is at least a node and the last is a text node
   lastChild.appendData("YOUR TEXT CONTENT");

其他回答

试试这个:

var div = document.getElementById('divID');

div.innerHTML += 'Extra stuff';

下面的方法不像其他方法那么通用,但是当您确定div的最后一个子节点已经是文本节点时,它非常有用。这样就不会使用appendData MDN Reference appendData创建新的文本节点

let mydiv = document.getElementById("divId");
let lastChild = mydiv.lastChild;

if(lastChild && lastChild.nodeType === Node.TEXT_NODE ) //test if there is at least a node and the last is a text node
   lastChild.appendData("YOUR TEXT CONTENT");

使用列表末尾:

var theDiv = document.getElementById("<ID_OF_THE_DIV>");
var content = document.createTextNode("<YOUR_CONTENT>");
theDiv.appendChild(content);

使用innerHTML: 这种方法将删除@BiAiB提到的现有元素的所有侦听器。因此,如果您计划使用这个版本,请谨慎使用。

var theDiv = document.getElementById("<ID_OF_THE_DIV>");
theDiv.innerHTML += "<YOUR_CONTENT>"; 

即使这样也可以:

var div = document.getElementById('divID');

div.innerHTML += 'Text to append';

java脚本

document.getElementById("divID").html("this text will be added to div");

jquery

$("#divID").html("this text will be added to div");

使用不带任何参数的.html()来查看您已经输入。 在代码中使用这些函数之前,可以使用浏览器控制台快速测试它们。