Iam*_*ace 5 html jquery append
我在另一个内部有两个div元素.有时,从用户交互性中删除这两个项目,并放置两个新元素.
首先删除现有元素是否合适?或者只是覆盖html?或者甚至重要吗?
$('#item1').remove();
$('#item2').remove();
$('#itemWindow').append(newItem1);
$('#itemWindow').append(newItem2);
Run Code Online (Sandbox Code Playgroud)
或者干脆
$('#itemWindow').html(newItem1);
$('#itemWindow').append(newItem2);
Run Code Online (Sandbox Code Playgroud)
一个是较少的代码,但是应该删除项目吗?这些项目没有任何听众,但如果他们这样做了,那会有所作为吗?
我是一名潜入JS和jQuery的ActionScript开发人员.在AS中,如果存在任何侦听器,则首先删除该项以切断与该对象的任何关系,以便正确收集内存.这些规则与JS和jQuery相同吗?
谢谢!
他们没有区别。所以你可以继续使用第二种方法。当你使用这个时
\n\n$(\'#itemWindow\').html(newItem1);\nRun Code Online (Sandbox Code Playgroud)\n\n$(\'#item1\')并将 $(\'#item2\')被替换。因此您可以跳过手动删除它们的过程。
正如评论中提到的 @glavi\xc4\x87 如果你查看htmljQuery 源代码中方法 的定义https://github.com/jquery/jquery/blob/master/src/manipulation.js#L213 \n你会发现最后有这些行
if ( elem ) {\n this.empty().append( value );\n }\nRun Code Online (Sandbox Code Playgroud)\n\n在这种情况下,哪里elem是正确的。所以元素将是emptied,然后新元素将是appended。
如果他们有侦听器,那么您必须以某种方式绑定侦听器,以便它可以与动态添加的元素一起使用,例如使用$.on
\n| 归档时间: |
|
| 查看次数: |
335 次 |
| 最近记录: |