Сказать, что я
var s = $('#something');
и затем я хочу проверить, нашел ли jQuery # что-то, т.е. я хочу проверить, если s
пуст ли.
Я мог бы использовать для этого своих подопечных isempty()
:
function isempty(o) {
for ( var i in o )
return false;
return true;
}
Или, поскольку объекты jQuery представляют собой массивы, я полагаю, что могу протестировать s.length
.
Но ни то, ни другое не похоже на идиому jQuery, не очень на jQueryesque. Что ты посоветуешь?
.size()
там ответа, что мне очень нравится.Ответы:
Используйте свойство s.length.
if(s.length == 0) { ... }
[править] size () не рекомендуется в jquery 1.8 http://api.jquery.com/size/
источник
if($("#something").length > 0 ){ // Element found } else{ // No element found }
источник
Еще более подходящее решение jQueryesque для меня:
jQuery.fn.isEmpty = function(fun){ if (this.length === 0) { fun(); } return this; };
Это позволяет мне писать обычным образом:
$("#sel").fadeOut(500,afterFade).isEmpty(insteadOfFade);
источник