我有一个 javascript (AJAX),它会定期发出 XMLHttpRequest
从 PHP 文件中获取一些数据,并将返回的数据附加到
标记的 innerHTML
。但是,每次将新内容添加到 block 中时,该段落的整个内容似乎都会重新加载:当我选择某些文本时,当数据更新时,选择会消失。
代码如下:
<script>
function requestChange(){
setInterval(updateData, 2000);
}
function updateData(){
var req = new XMLHttpRequest();
var url = "content_provider.php";
req.open("POST", url, true);
req.send();
req.onreadystatechange = function(){
if(req.readyState == 4 && req.status == 200){
var data = req.responseText;
//updating the innerHTML content
document.getElementById('data').innerHTML += data;
}
};
}
</script>
<body onload="requestChange()">
<p id="data"></p>
</body>
如何在innerHTML 静态中进行更改?
最佳答案
这就是您在本例中所需要的,因为 insertAdjacentHTML
将结果节点插入到 DOM 树中的指定位置(第一个参数),但不会重新解析洞树。
document.getElementById('data').insertAdjacentHTML('beforeend', data);
关于javascript - 如何在不修改整个内容的情况下更新innerHTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47732284/