【发布时间】:2012-06-07 02:16:59
【问题描述】:
我在另一个里面有两个 div 元素。有时,由于用户交互,这两个项目被删除,两个新元素被放置。
先删除现有元素是否合适?或者只是覆盖html?还是有关系?
$('#item1').remove();
$('#item2').remove();
$('#itemWindow').append(newItem1);
$('#itemWindow').append(newItem2);
或者干脆
$('#itemWindow').html(newItem1);
$('#itemWindow').append(newItem2);
一个是更少的代码,但是否应该删除该项目?这些项目没有任何听众,但如果他们有,那会有什么不同吗?
我是一名深入研究 JS 和 jQuery 的 ActionScript 开发人员。在 AS 中,如果存在任何侦听器,则应首先删除该项目以切断与该对象的任何联系,以便进行适当的内存收集。这些规则在 JS 和 jQuery 中是一样的吗?
谢谢!
【问题讨论】:
-
我认为关于监听器的答案将取决于你是否想要重用监听器......
-
如果您查看 jQuery 源代码,您会注意到 html() 方法的工作方式类似于 > this.empty().append( value )。您在不需要的地方变得复杂;-) 用于更短的代码,例如> $('#itemWindow').html(newItem1).append(newItem2);