Diz que sim
var s = $('#something');
e a seguir quero testar se o jQuery encontrou #algo, ou seja, quero testar se s
está 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?
.size()
resposta lá, o que eu gosto bastante.Respostas:
Use a propriedade s.length.
if(s.length == 0) { ... }
[editar] size () obsoleto no jquery 1.8 http://api.jquery.com/size/
fonte
if($("#something").length > 0 ){ // Element found } else{ // No element found }
fonte
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);
fonte