JavaScript innerHTML添加而不是替换

33

快速提问,我知道我们可以通过以下方式更改一个

的内容:

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

document.getElementById("whatEverId").innerHTML="hello two";
现在,我是否可以以添加的方式将内容添加到div中,而不是替换它??? 这样我就可以得到

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

(当然,使用类似的方法)

6个回答

72
<div id="whatever">hello one</div>
<script>
document.getElementById("whatever").innerHTML += " hello two";
</script>

8
请注意,使用element.innerHTML += 'content'将清空

让新元素 = document.createElement('span'); 我想是这样的? - xgarb

3
document.getElementById("whatEverId").innerHTML =  document.getElementById("whatEverId").innerHTML +  "hello two" + document.getElementById("whatEverId").innerHTM ;

2

请解释一下。第一个链接已经失效了。 - Frank Conijn - Support Ukraine

1

如果你是在追加内容,你可以将等号(=)改为加等于(+=)

document.getElementById("whatEverId").innerHTML += 'hello two';

如果是前缀

document.getElementById("whatEverId").innerHTML = 'hello two' + document.getElementById("whatEverId").innerHTML;

虽然我强烈建议使用jQuery或MooTools JavaScript库/框架来完成这种操作。如果你不仅仅是添加文本节点而是添加标签,那么你应该使用DOM createElement方法或者前面提到的某个库/框架。


1

您可以通过像这样附加div字符串来实现...

document.getElementById('div_id').innerHTML += '你好 Two';


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接