javascript - 大众 Dom 操纵

标签 javascript jquery ajax dom

我想知道是否有人可以在不卡住浏览器的情况下使用 jquery 进行最大程度的 dom 操作提供一些安全指南。

也是大规模 DOM 操作的最佳方法。

基本上在任何时候我都可以处理多达 40k li 的列表

我真正做的就是展示一个,隐藏另一个。

这是我的问题

  • 理论上我可以一次操作多少个 li 而不会导致浏览器崩溃?
  • 我应该如何与 li 合作?
    • 作为单个对象进行操作(ul 级别)
    • 循环遍历第一个列表中的每个 li,删除它们,然后循环插入每个新的 li。
    • 循环 li 的 block (如果是的话,一次 10、100、1000、10000 有多大?)
  • 我应该如何获取数据? (json格式)
    • 通过一次 ajax 调用获取整个列表的数据(相当于 40k li)。
    • 在创建页面时为每个列表插入数据(最多可以有 20 个列表 = 800,000 li's
    • 进行多次 ajax 调用来获取数据(如果是的话,一次 10、100、1000、10000 有多大?)

最佳答案

如果你真的想操纵那么多,那么你可能应该采用类似 http://developer.yahoo.com/yui/3/async-queue/ 的东西。

作为一次应该使用多少组的答案,您可以建立一个校准,看看最后一组完成的速度,并相应地使用更多/更少。这可以为您提供适用于从桌面 Chrome 到移动 IE 的所有内容的东西。

ajax调用也是如此,使其能够根据网速加速。

关于javascript - 大众 Dom 操纵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4128673/

相关文章:

javascript - 使用#each 在 handlebars.js 中显示一些数据不显示

javascript - AngularJS:指令模板如何每次更新

jquery - Jquery 轮播中的图像对 CSS :hover 没有反应

javascript - 使用 jQuery 的索引获取表的偏移位置

javascript - 关联数组中的键名

Javascript:如何只选中屏幕上的复选框

javascript - JavaScript 中函数的执行顺序

javascript - 在另一个下方显示搜索建议

jquery - 使用 jQuery 从 Flickr 获取图像的高度而不加载图像文件?

Javascript - 日期范围验证