Javascript 删除未使用的DOM元素以提高性能

Javascript 删除未使用的DOM元素以提高性能,javascript,Javascript,我正在写一个单页的应用程序。最初提供页面时,它包含许多DOM元素,这些元素包含我正在注入页面的json字符串 当页面加载到客户机上时,发生的第一件事是这些DOM元素从json解析为javascript对象,然后再也不用它们了 从DOM中删除它们并减小其大小是否会对性能有好处?我还没有找到任何关于这方面的结论性数据。关于信息,这些元素的大小约为500K 谢谢你的建议 从DOM中删除它们会有性能上的好处吗 缩小它的尺寸 就DOM的性能而言,通常,与DOM的交互越少越好 请记住,选择器会遍历dom,因

我正在写一个单页的应用程序。最初提供页面时,它包含许多DOM元素,这些元素包含我正在注入页面的json字符串

当页面加载到客户机上时,发生的第一件事是这些DOM元素从json解析为javascript对象,然后再也不用它们了

从DOM中删除它们并减小其大小是否会对性能有好处?我还没有找到任何关于这方面的结论性数据。关于信息,这些元素的大小约为500K

谢谢你的建议

从DOM中删除它们会有性能上的好处吗 缩小它的尺寸

就DOM的性能而言,通常,与DOM的交互越少越好

请记住,选择器会遍历dom,因此,如果使用效率低下的选择器,无论发生什么情况,性能都会很差。但是,如果尽可能按ID而不是按类或属性选择元素,则无论是否删除了那些无关的标记项,都可以从页面中挤出良好的性能

最初提供页面时,它包含许多DOM元素 包含我正在注入页面的json字符串。。。。欲知详情, 这些元素的大小约为500K


就页面负载而言,您的性能已经因为必须传输所有这些数据而受到影响。如果您能找到一种只传输json的方法,那么它只能起到帮助作用。删除事实并不能解决这个特殊的问题。

< P>独立于您是否将JSON从DOM中拔出,您可以考虑包括JSON对象:

的这项技术。
<script type='text/json' id='whatever'>
  { "some": "json" }
</script>

{“some”:“json”}

浏览器将完全忽略这些脚本的内容(当然,除了看起来像
的嵌入式字符串,我觉得这是JSON序列化程序可能要处理的事情),所以您不会冒险遇到嵌入符号和其他东西的问题。这可能是一个性能上的胜利:浏览器查找
块的结尾可能比查找它认为是实际内容的内容更容易。您可以使用
.innerHTML

一字不差地获取内容。您可以设置一些测试用例并进行计时。它们是什么元素?如果它们不在主体中,那么可能真的没有必要删除它们-一旦解析DOM,它就被解析了。我有一个类似的例子,我在DOM中保留了用于临时弹出窗口或工具提示的HTML。清理它们是有益的?500K好悲伤。我想这里我们讨论的是带有虚假非JavaScript“类型”的
标记。如果是这样的话,那么如果你把它们都拉到全局JavaScript中,我不禁想象如果你删除它们,它会释放出空间。@frenchie:当然不是。它们可以作为
元素出现在头部。可能只是语义,但您应该推荐
text
属性,而不是
innerHTML
,因为脚本元素不包含标记@RobG我同意,但我不确定这是否适用于所有浏览器。可能吧。好吧,投票支持你的见解。我决定将json字符串移动到头部的标记,这样就可以解决问题。