应该是在设置 innerHTML 之前“清理”的元素

Should be an element "cleaned" before setting innerHtml?

本文关键字:清理 元素 之前 innerHTML 设置      更新时间:2023-09-26

我在我正在处理的一个项目中多次看到,在设置元素的 innerHtml 之前,该值被清理过,如下所示:

var foo = document.getElementById('foo')
foo.innerHTML = '';
foo.innerHTML = '<span>Bar</span>'

我找不到任何充分的理由这样做,只是团队中的每个人都遵循这种"做法"。据我了解,任何人都可以重新定义 innerHtml 属性来执行自定义操作,但除了这个原因之外,我还缺少其他属性吗?

谢谢!

编辑:更新了示例代码以避免倾斜(谢谢@freefaller)

听起来这个项目在某个时候看到了一些货物崇拜的节目。

不仅绝对没有理由将元素的 .innerHTML 属性设置两次,而且它实际上不必要地减慢了页面的速度。对 DOM 所做的每次修改都会导致浏览器停止并更新文档树,这意味着每次将 .innerHTML 设置为空字符串时都会浪费周期。