Teste para resultado de seleção jQuery vazio


85

Diz que sim

var s = $('#something');

e a seguir quero testar se o jQuery encontrou #algo, ou seja, quero testar se sestá vazio.

Eu poderia usar minha confiança isempty()nisso:

function isempty(o) {
    for ( var i in o )
        return false;
    return true;
}

Ou, uma vez que os objetos jQuery são matrizes, acho que poderia testar s.length.

Mas nenhum dos dois parece estar no idioma jQuery, não é muito jQuery. O que você sugere?



inkedmn, sim, pergunta semelhante, mas não vi a .size()resposta lá, o que eu gosto bastante.


Respostas:



5
if($("#something").length > 0 ){
     // Element found
}
else{
    // No element found
}

-1

Uma solução ainda mais jQueryesca para mim é:

jQuery.fn.isEmpty = function(fun){ if (this.length === 0) { fun(); } return this; };

Isso me permite escrever da maneira típica:

$("#sel").fadeOut(500,afterFade).isEmpty(insteadOfFade);
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.