我想从插件中的each()循环中删除和元素,所以我只返回一些特定的itens。但到目前为止,我做了很多测试,但仍然无法删除该项目。
(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);
编辑:
:隐藏或:可见不好因为他们使用偏移,我认为这是一个坏主意。
过了一段时间,我找到了一个很好的解决方案,我会分享,所以其他人不会像我一样浪费时间:
(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);
答案 0 :(得分:1)
使用filter():
return this.filter(function(){
return mycondition?true:false;
});