jquery - 这是dom操纵吗?

标签 jquery dom

我知道大量的 DOM 操作是不好的,因为它会导致重绘等。

但是做类似的事情怎么样

var container = $('<div />');
{repeat:20}
container.append(<div>content</div>);
{endrepeat}
$('#actualElement').html(container.html());

即使不是DOM操作,也不好吗?

最佳答案

不,没关系,因为 container 没有附加到 DOM。这是向 DOM 添加大量元素的首选方式。
但是通过使用html(),您将丢失添加到元素的所有事件处理程序或数据。如果您想保留它们,请考虑使用此:

$('#actualElement').empty().append(container.children());

您还可以使用DocumentFragement ,但由于您使用的是 jQuery,所以我会坚持使用 jQuery。

更新:回答实际问题:是的,这是 DOM 操作,但是您只向 DOM 添加一次,这是您可以获得的最好结果(除了根本不插入;)) .

关于jquery - 这是dom操纵吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4928394/

相关文章:

javascript - 调整 div 的大小以保持比例

javascript - QuerySelectorAll 返回超过预期

javascript - addEventListener 是如何工作的?

java - 如何在JDOM中写入xml属性值?

javascript - jQuery 从索引问题中选择项目

jquery - 通过 jquery 获取 xml 中特定子项的子项值

javascript - 在 laravel 5 中显示多个评级星 jquery bar 评级

javascript - 组件重新渲染时 React SVG 消失

php - 使用 "Jquery file upload plugin"直接上传文件到FTP服务器

Javascript 将示例转换为实际代码问题 - 数组