我想从插件内的 each() 循环中删除和元素,所以我只会返回一些特定的元素。但到目前为止我做了很多测试,我仍然无法删除该项目。
(function($){
$.fn.teste = function(parametro){
var parametro_padrao = {};
if (parametro){$.extend(parametro_padrao, parametro);}
return this.each(function(){
//if certain condition happens I want to remove an element so it will not be returned in the "return" clause above
});
};
})(jQuery);
编辑:
:hidden 或 :visible 不好,因为它们使用偏移量,我认为这是一个坏主意。
一段时间后,我找到了一个很好的解决方案,我会分享,这样其他人就不会像我一样浪费时间:
(function($){
$.fn.visivel = function(parametro){
var parametro_padrao = {};
if (parametro){$.extend(parametro_padrao, parametro);}
elemento = this;
this.each(
function(index){
$(this).parents().andSelf().each(
function() {
if ( ($(this).css("display") == "none") || ($(this).css("visibility") == "hidden") ) {
delete elemento[index];
return false;
}
}
);
}
);
return elemento;
};
})(jQuery);