Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 9000个DOM元素大吗?_Javascript_Dom - Fatal编程技术网

Javascript 9000个DOM元素大吗?

Javascript 9000个DOM元素大吗?,javascript,dom,Javascript,Dom,我只是想对这件事有个看法。我正在构建一个带有force布局图和表格的应用程序。使用 document.getElementsByTagName("*").length 我可以看到我的DOM大约有9000个节点。有了这个数字,应用程序的速度变慢了。在你们通常构建的其他应用程序中,DOM的数量正常吗?是的。 建议避免一次有太多节点。你需要有你的部分加载机制。对于不在视图中的元素,也可以将显示设置为“无”。对于表来说,这并不少见,尤其是在表单元格中有小部件的情况下。记住:节点≃ 排✕ 柱✕ (每个

我只是想对这件事有个看法。我正在构建一个带有force布局图和表格的应用程序。使用

document.getElementsByTagName("*").length
我可以看到我的DOM大约有9000个节点。有了这个数字,应用程序的速度变慢了。在你们通常构建的其他应用程序中,DOM的数量正常吗?

是的。
建议避免一次有太多节点。你需要有你的部分加载机制。对于不在视图中的元素,也可以将显示设置为“无”。

对于表来说,这并不少见,尤其是在表单元格中有小部件的情况下。记住:节点≃ 排✕ 柱✕ (每个单元的节点数)。影响性能的主要因素是后续的异步方法,将内容更新与屏幕事件分离。

~我不这么认为。~这个包含这个问题的页面本身有720多个元素。--超过9000人!取决于您的具体应用。考虑到你在页面上的内容,CSS,Javascipt,事件监听器。我同意@evolutionxbox,我刚在facebook上查过,你的页面上只有~2000个使用正确的配置文件。没有任何可疑的间隔吗?你不是在跟踪鼠标光标吗?您是否使用
innerHTML
setter修改DOM?这些只是许多可能出现的问题中的一小部分,完全取决于性能。用户不关心DOM元素的数量,他们关心应用程序在他们的设备上是否运行良好。当你测试你的应用程序时,确保不仅包括现代智能手机,如果可能的话,还包括最近几代的智能手机。如果您在开发机器上注意到任何延迟,那么肯定会在功率较低的移动设备上注意到,这可能是有害的,因为决定哪些元素在视图中意味着查询布局引擎,这将触发完全的重新布局。现在的速度会更快,但4年前,我估计10000个节点的计算时间为1秒。