<section>
我的 html 中有很多内容,<body>
想通过 javascript 添加更多内容。但是,使用innerHTML
只是用新的部分替换我现有的部分,而不是将它们添加到旧的部分。
我还能用什么?
<section>
我的 html 中有很多内容,<body>
想通过 javascript 添加更多内容。但是,使用innerHTML
只是用新的部分替换我现有的部分,而不是将它们添加到旧的部分。
我还能用什么?
您可以使用
document.getElementById("parentID").appendChild(/*..your content created using DOM methods..*/)
或者
document.getElementById("parentID").innerHTML+= "new content"
我刚刚遇到了一个类似于这个问题的解决方案,其中包含了一些性能统计数据。
下面的例子似乎更快:
document.getElementById('container').insertAdjacentHTML('beforeend', '<div id="idChild"> content html </div>');
InnerHTML vs jQuery 1 vs appendChild vsinnerAdjecentHTML。
参考:1)性能统计 2) API - insertAdjacentHTML
我希望这将有所帮助。
我觉得如果你想直接给body添加内容,最好的方法是:
document.body.innerHTML += "bla bla";
要替换它,请使用:
document.body.innerHTML = "bla bla";
尝试以下语法:
document.body.innerHTML += "<p>My new content</p>";
你可能正在使用
document.getElementById('element').innerHTML = "New content"
试试这个:
document.getElementById('element').innerHTML += "New content"
或者,最好使用DOM Manipulation:
document.getElementById('element').appendChild(document.createElement("div"))
与使用相比,DOM 操作更受欢迎innerHTML
,因为innerHTML
只是将字符串转储到文档中。浏览器将不得不重新解析整个文档以获得它的结构。