javascript - 处理 HTML/Javascript 中的数千个列表元素

标签 javascript jquery html performance user-interface

我有一个 UI 场景,其中包含一个列表 ( <ul> ),其中可能包含大量列表项 ( <li> )。该场景包括使用 jQuery 搜索、过滤(针对类和属性)、删除和创建这些项目。处理这种情况的最佳实践和优化是什么?对于大量元素,UI 会变得多慢/多重?

最佳答案

为了获得最佳性能,请在 DOM 外部使用对象,并通过最后附加所有内容并委托(delegate)事件来避免过度回流。

$('<li/>', { ... }).appendTo('#el'); // Dynamic object, appended at last
$('ul').on('click', 'li', function(){ ... }); // Delegate events

如果您必须使用 DOM 中的元素,那么最好使用 detach() 元素或 clone() 它,使用它,然后 append() 再次将其添加到 DOM。

关于javascript - 处理 HTML/Javascript 中的数千个列表元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9403984/

相关文章:

jquery - AJAX Post 到 ASP.NET MVC 6 Controller 操作方法和参数为 null

html - 响应式纵横比与纯 css : how to fill container's height?

html - 两列布局中的段落具有不同的顶部高度

javascript - jquery .map() 复选框

javascript - 选择行在 IE 中不显示正确数量的选定行

jQuery 按类顺序中的数字禁用复选框

javascript - 如何创建可拖动的 Web 组件

javascript - CURL JSESSIONID 问题

javascript - 尝试发出自定义类 Vuejs 时 $emit 不起作用

javascript - 特定于域的 cookie 是否容易受到 CSRF 的攻击?