添加javascript innerHTML而不是替换

Gmo*_*Gmo 27 javascript ajax dom innerhtml

快速问题,我知道我们可以改变一个内容

<div id="whatEverId">hello one<div> 通过使用:

document.getElementById("whatEverId").innerHTML="hello two";
Run Code Online (Sandbox Code Playgroud)

现在,有没有办法可以将东西添加到div而不是替换它?所以我能得到

<div id="whatEverId">hello one hello two<div>

(当然使用类似的东西)

jco*_*ctx 55

<div id="whatever">hello one</div>
<script>
document.getElementById("whatever").innerHTML += " hello two";
</script>
Run Code Online (Sandbox Code Playgroud)

  • 啊哈哈没想到那个哈哈,谢谢! (3认同)

Nig*_*hto 6

注意,使用element.innerHTML += 'content'将清空inputS和textareas到其默认状态下,空白状态,取消选中复选框,以及去除附着于那些元素(例如,任何事件onclickon hover等),因为整个innerHTML将被浏览器重新解释,该装置.innerHTML被排空和用合并的内容从头开始重新填充。

如果需要保持状态,则需要创建一个新元素(<span>例如 a)并将其附加到当前元素,如下所示:

let newElement = 'span'
newElement.innerHTML = 'new text'
document.getElementById('oldElement').appendChild(newElement)
Run Code Online (Sandbox Code Playgroud)