我在sql表中有一些数据。我通过 JSON 将其发送到我的 JavaScript。
从那里我需要将其组成 HTML,以便通过两种方式之一向用户显示。
- 通过编写 html 字符串并插入到持有元素的 .innerHTML 属性中
- 通过对我需要的每个元素使用 createElment() 并直接附加到 DOM 中
以下两个问题都没有给出可量化的答案。
从第一个链接中的第一个答案开始,第三个原因(所述的前两个原因不适用于我的环境)
在某些情况下可能会更快
有人可以建立一个基本情况,说明 createElement() 方法何时更快,为什么?
这样人们就可以根据他们的环境做出有根据的猜测来使用哪个。
就我而言,我不担心保留现有的 DOM 结构或事件监听器。只是效率(速度)。
关于我提供的第二个链接,我没有使用库。但它是为那些可能的人准备的。
研究/链接
createElement 相对于innerHTML 的优点? https://stackoverflow.com/questions/2946656/advantages-of-createelement-over-innerhtml
JavaScript:使用innerHTML 或(大量)createElement 调用来添加复杂的div 结构是否更好? https://stackoverflow.com/questions/737307/javascript-is-it-better-to-use-innerhtml-or-lots-of-createelement-calls-to-ad
添加到 DOMn时间需要n比单次添加到 DOM 的时间多出好几倍。 (:P)
这是我个人遵循的逻辑。
因此,当要创建一个 SELECT 元素并向其添加多个选项时,我更喜欢使用 innerHTML 一次性添加所有选项,而不是使用 createElement 调用n times.
这有点类似于将 BATCH 操作与“一对一”进行比较……只要您可以因式分解,就应该这样做!
编辑:阅读评论我了解到有一个功能(DOM DocumentFragment)可以让我们节省此类开销,同时利用 DOM 封装。这样的话,如果性能真的相当的话,我绝对不会怀疑并选择DOM选项。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)