【发布时间】:2012-04-24 20:24:35
【问题描述】:
我查看了jQuery 函数的.empty() 源代码:
empty: function() {
for ( var i = 0, elem; (elem = this[i]) != null; i++ ) {
// Remove element nodes and prevent memory leaks
if ( elem.nodeType === 1 ) {
jQuery.cleanData( elem.getElementsByTagName("*") );
}
// Remove any remaining nodes
while ( elem.firstChild ) {
elem.removeChild( elem.firstChild );
}
}
将innerHTML 改为空字符串不是更简单吗:
empty: function() {
for ( var i = 0, elem; (elem = this[i]) != null; i++ ) {
elem.innerHTML = "";
}
emptydocs:
说明:从 DOM 中删除匹配元素集的所有子节点。
【问题讨论】:
-
代码中这条注释说明了:
// Remove element nodes and prevent memory leaks... -
@nnnnnn。是的,我实际上是在问它如何导致内存泄漏......
标签: javascript jquery html