这个问题可能很蠢,或者很基础。
有人可以解释一下在添加DOM元素时哪种方法最好吗?我们有两种添加DOM元素的方式。
场景:需要在现有的<div id="theEl"></div>
内部添加<strong>Hi</strong>
。
通过编辑其中的HTML。
document.getElementById("theEl").innerHTML = '<strong>Hi</strong>';
通过使用
document.createElement()
方法。
var hi = document.createTextNode("Hi"),
strong = document.createElement("strong");
strong.appendChild(hi);
mydiv = document.getElementById("theEl");
document.body.insertBefore(strong, mydiv);
问题
- 最好的方式是什么?一个是单行,另一个是大约五行。
- 性能方面怎么样?
- 正确的方式或最佳实践是什么?
- 代码整体上有区别吗?
如果这个问题看起来没有意义,请让我知道,我很乐意关闭甚至删除这个问题。谢谢。
对于那些想要关闭问题的人,请注意,这个问题不是那个问题的重复。我刚刚注意到的一件事是,使用createElement()
可以保留附加到元素的事件处理程序。尽管这是一个很好的观点,但任何基本网页中都有jQuery,它提供了代理和其他允许我在HTML更改后仍将事件附加到元素的功能。
innerHTML
要快得多。http://www.quirksmode.org/dom/innerhtml.html - Andreas Wong<script src=""></script>
) 并使其被包含和运行,而不创建元素。因为在这种情况下,它需要被初始化才能被包含。你明白我的意思吗? - Praveen Kumar Purushothaman