您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

为什么“ element.innerHTML + =”错误代码?

为什么“ element.innerHTML + =”错误代码?

每次innerHTML设置时,都必须解析HTML,构造DOM并将其插入文档中。这需要时间。

例如,如果elm.innerHTML有数千个div,表,列表,图像等,则调用.innerHTML += ...将导致解析器重新重新解析所有这些内容 。这也可能破坏对已经构造的DOM元素的引用,并引起其他混乱。实际上,您要做的就是在末尾附加一个新元素。

最好只致电appendChild

var newElement = document.createElement('div');
newElement.innerHTML = '<div>Hello World!</div>';
elm.appendChild(newElement);????????????????

这样,将elm不会再次解析的现有内容

[某些]浏览器可能足够聪明,可以优化+=操作员,而不重新解析现有内容。我还没有对此进行研究。

其他 2022/1/1 18:14:19 有378人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶