-1
플러그인 내 each() 루프에서 요소를 제거하고 특정 itens 만 리턴하도록합니다. 그러나 지금까지 나는 많은 테스트를했고 아이템을 제거 할 수 없습니다.jQuery Plugin 각 루프에서 요소 제거
(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);
당신은 훌륭하지만 reallly 필요를 복잡한 algorythm을 사용하고 플러그인을 사용하여 특정 항목을 제거합니다. 코드를 약간 변경했지만 문제가 발생합니다. \t $ .fn.teste = function (parametro) { \t \t \t var parametro_padrao = {}; \t \t 경우 (parametro) {$ 연장 (parametro_padrao, parametro).} \t \t \t \t 이 온도 =; \t \t this.each (기능 (인덱스) { \t \t \t \t \t $ (이) .parents(). andSelf(). 각 ( \t \t \t \t \t \t \t 함수() { \t \t \t \t \t \t \t \t \t 경우 (($ (이) .CSS ("디스플레이") == "없음") || ($ (이) .CSS ("V isibility ") =="숨김 ")) { \t \t \t \t \t \t \t \t \t \t \t temp.splice (인덱스 1); \t \t \t \t \t \t // false; \t \t \t \t \t \t \t \t \t \t \t} \t \t \t \t \t \t \t} \t \t \t \t \t \t \t ); \t \t \t \t \t}); –
당신이 찾고있는 것은 정확하게 .filter()가 사용되는 것입니다 : http : //api.jquery.com/filter/BTW if ($ (this) .is (': hidden')) –
mycondition은 복잡한 표현식이나 함수 호출 일 수 있습니다. – Barmar