应该是在设置 innerHTML 之前“清理”的元素
Should be an element "cleaned" before setting innerHtml?
我在我正在处理的一个项目中多次看到,在设置元素的 innerHtml 之前,该值被清理过,如下所示:
var foo = document.getElementById('foo')
foo.innerHTML = '';
foo.innerHTML = '<span>Bar</span>'
我找不到任何充分的理由这样做,只是团队中的每个人都遵循这种"做法"。据我了解,任何人都可以重新定义 innerHtml 属性来执行自定义操作,但除了这个原因之外,我还缺少其他属性吗?
谢谢!
编辑:更新了示例代码以避免倾斜(谢谢@freefaller)
听起来这个项目在某个时候看到了一些货物崇拜的节目。
不仅绝对没有理由将元素的 .innerHTML 属性设置两次,而且它实际上不必要地减慢了页面的速度。对 DOM 所做的每次修改都会导致浏览器停止并更新文档树,这意味着每次将 .innerHTML 设置为空字符串时都会浪费周期。
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 表追加而不附加最后一个元素
- 如何在jQuery中获取元素的形式
- 我可以获得相对于被点击元素的确切点击位置吗
- 在函数中添加数组元素的数值
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 将视口底部滚动到元素底部
- Javascript - 清理特定的 html 元素
- 主干清理元素事件
- 应该是在设置 innerHTML 之前“清理”的元素
- 清理自定义元素中的事件侦听器
- 清理来自其他来源的html元素
- JS对元素的大规模侦听器清理
- 清理不再引用且从未添加到文档中的元素
- HTML dom元素ckeditor标签清理