有没有办法用.innerHTML向DOM对象添加信息而不替换那里存在的东西?
例如:document.getElementById('div').innerHTML = 'stuff';
会返回<div id="div">stuff</div>
然后是类似的电话:document.getElementById('div').innerHTML = ' and things';
将div设置为<div id="div">stuff and things</div>
答案 0 :(得分:12)
document.getElementById('mydiv').innerHTML = 'stuff'
document.getElementById('mydiv').innerHTML += 'and things'
document.getElementById('mydiv').innerHTML += 'and even more'
答案 1 :(得分:4)
答案 2 :(得分:4)
您可以使用Element.insertAdjacentHTML()
。
insertAdjacentHTML()将指定的文本解析为HTML或XML,将生成的节点插入指定位置的DOM树。它不会重新解析它正在使用的元素,因此它不会破坏元素内部的现有元素。这样,并且避免了序列化的额外步骤使得它比直接innerHTML操作快得多。
如果您想在stuff
的末尾添加Element
,则可以
const div = document.getElementById("div");
div.insertAdjacentHTML('beforeend', 'stuff');;
答案 3 :(得分:3)
为什么不试试
document.getElementById('div').innerHTML += ' and things';
注意“+”
答案 4 :(得分:1)
您的示例中存在错误。但你可以这样做:
var myDiv = document.getElementById('div');
myDiv.innerHTML = myDiv.innerHTML + ' and things';
答案 5 :(得分:0)
将其更改为:
document.getElementById.innerHTML('div') =
document.getElementById.innerHTML('div') + ' and things';
ol'x = x + 1连接方式。
虽然我不认为“document.getElementById.innerHTML('div')”甚至是正确的语法?你的意思是“document.getElementById('divid')。innerHTML”?
答案 6 :(得分:-1)
也许:
document.getElementById('div').innerHTML = document.getElementById('div').innerHTML + ' and things'