【问题标题】:DOM Manipulation with existing large DOM使用现有大型 DOM 进行 DOM 操作
【发布时间】:2012-11-06 20:50:50
【问题描述】:

在我的网页中,我在单击加载更多按钮时调用了一个 webmethod,该 webmethod 从数据库中获取数据并通过加载大量用户控件来创建一个大 HTML,比如说 40-50 个用户控件。然后这个 HTML 在 javascript 中返回,我将这个 html 附加到现有 div 的 innerHTML 中。这个 div 最初有数据,所以当用户点击加载更多按钮时,我会附加更多数据。

现在的问题是,点击几下它就可以正常工作了。但在那之后,随着 DOM 变得越来越大,它变得很慢,所以现在操作成本很高。我查看了 20000 的元素计数。但是当显示大量数据时,我也检查了 facebook 的元素计数。它的计数为 50000。有了这个 50000 计数,facebook 运行良好,没有性能问题。但是我的网站挂着 20000 个元素……不知道问题出在哪里……这真的与元素有关吗?

请帮帮我。

谢谢

迪帕克

【问题讨论】:

  • 您是说您的网络浏览器崩溃是因为页面上的元素过多吗?如果是这样,我会说在设计过程中出现了可怕的错误。为什么用户甚至想要在一页上显示这么多信息?
  • 你在使用更新面板吗?
  • 给我们看一些代码。或者谢天谢地一个链接。根据我的经验,20,000 个 DOM 元素是非常错误的。
  • Facebook 拥有许多非常优秀的工程师,他们多年来一直致力于优化他们的 UI。您不应该期望您的代码以与他们的代码相同的效率运行。所以我想我的意思是在短期内不要咬得比你能咀嚼的多。将您的功能限制在您可以在短期内正常工作的范围内。然后,当您弄清楚如何优化代码时,再考虑添加更多功能。

标签: jquery dom


【解决方案1】:

可能是这样。然而,更可能的是代码的(低)效率,或者您如何处理 DOM 操作、迭代等。

【讨论】:

    猜你喜欢
    • 2010-10-24
    • 1970-01-01
    • 2021-11-06
    • 2016-01-03
    • 2013-01-03
    • 2014-06-24
    • 2018-07-11
    • 2020-09-15
    • 1970-01-01
    相关资源
    最近更新 更多