Powiedź tak
var s = $('#something');
a następnie chcę sprawdzić, czy jQuery znalazł # coś, tj. chcę sprawdzić, czy s
jest pusty.
Mógłbym na tym wykorzystać mojego zaufanego isempty()
:
function isempty(o) {
for ( var i in o )
return false;
return true;
}
Albo ponieważ obiekty jQuery są tablicami, przypuszczam, że mógłbym przetestować s.length
.
Ale żadne z nich nie wydaje się całkiem w idiomie jQuery, niezbyt jQueryesque. Co sugerujesz?
.size()
tam odpowiedzi, która mi się raczej podoba.Odpowiedzi:
Użyj właściwości s.length.
if(s.length == 0) { ... }
[edit] size () przestarzałe w jquery 1.8 http://api.jquery.com/size/
źródło
if($("#something").length > 0 ){ // Element found } else{ // No element found }
źródło
Dla mnie jeszcze bardziej jQueryesque to:
jQuery.fn.isEmpty = function(fun){ if (this.length === 0) { fun(); } return this; };
To pozwala mi pisać w typowy sposób:
$("#sel").fadeOut(500,afterFade).isEmpty(insteadOfFade);
źródło