之间的差异(HTML)innerHTML=空()及其应用(推荐)

首先,空元素之间的区别

1,错误方法1:

$(#测试)(.html); / /这种做法导致内存泄漏

2。误区二:

$(#试验);{ 0 } .innerHTML = ; / /这种做法导致内存泄漏

三.正确的做法:

/ / $(#测试)(空);

两。原理:

使用innerHTML方法清除在jQuery元素,势必会导致内存泄漏,由于jQuery为同一元素的多事件处理是不能直接使用浏览器事件模型,但自己的缓存事件触发,遍历,容易触发程序:


元素的事件结构
风险事件= jquery.data(元素、事件)| | jquery.data(元素、事件
处理= jquery.data(元素、处理)| | jquery.data(元素、处理、函数(){
处理触发器的第二个事件,以及
在页面卸载后调用事件。
返回类型为不确定的jQuery!jquery.event.triggered!
JQuery.event.handle.apply(arguments.callee.elem,参数):
未定义;
});


数据方法用于将一些数据关联到元素,该元素使用机制缓存事件侦听器。

然后我们可以知道直接innerHTML = jQuery不通知的元素将被删除的数据,因此数据部分不再发布,即内存泄漏。


删除:函数(选择器){
如果jquery.filter | |(选择器!(选择器,{这个}长度){ {
内存泄漏
jQuery(*,this)。添加({ })。每个(函数){()
JQuery.event.remove(本);
jquery.removedata(本);
});
如果(这个父节点)
this.parentnode.removechild(本);
}
},
空:函数(){
删除元素节点并防止内存泄漏
jQuery(this);

任何剩余的节点 /删除
而(这个。第一个孩子)
(这this.removechild。第一个孩子);
}


以上是空元素html()之间的区别