如何使用innerHTML附加到对象

时间:2009-10-21 15:11:19

标签: javascript

有没有办法用.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>

7 个答案:

答案 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'