使用 Element.innerHTML 追加的危险
您听说过使用 element.innerHTML = "..." 连接元素的低语是编码禁忌。但它到底有什么危害呢?
考虑以下代码片段:
var str = "<div>hello world</div>"; var elm = document.getElementById("targetID"); elm.innerHTML += str; // Not recommended?
问题在于 HTML 的重复解析和渲染。每当innerHTML被分配时,浏览器必须解析HTML,构造DOM,并将其插入到文档中。这个过程非常耗时,对于复杂的 HTML 结构来说尤其费力。
因此,不鼓励使用innerHTML = 来简单地附加元素。相反,选择appendChild方法:
var newElement = document.createElement('div'); newElement.innerHTML = '<div>Hello World!</div>'; elm.appendChild(newElement);
通过使用appendChild,您可以避免不必要的重新解析并保持现有DOM元素的完整性。
注意: 虽然某些浏览器可能会优化 = 运算符,但最好不要依赖此行为来进行性能优化。
以上是为什么使用 `element.innerHTML = \'...\'` 是一种不好的做法?的详细内容。更多信息请关注PHP中文网其他相关文章!