我正在使用jQuery 1.3.2,目前我还处于不希望升级的位置。请考虑在1.4.2中使用的代码:
var some_elem = $('#some_element');
var other_elem = $('#other_element');
some_elem.detach();
other_elem.replaceWith(some_elem);
我应该如何重写此代码以使其在jQuery 1.3.2中运行?它没有实现.detach()
方法。
答案 0 :(得分:3)
detach
[source]正在调用remove
[source],但会为设置一个特殊标记删除jQuery在内部使用的所有数据,并通过data()
附加。
Aprat清除数据后,remove
仅执行以下操作以删除元素:
elem.parentNode.removeChild( elem );
您可以创建自己的插件:
(function($) {
if(!$.fn.detach) {
$.fn.detach = function() {
return this.each(function() {
if(this.parentNode) {
this.parentNode.removeChild( this );
}
});
};
}
}(jQuery));
答案 1 :(得分:2)