Тест для пустого результата выбора jQuery
скажи, что да
var s = $('#something');
и затем я хочу проверить, если jQuery нашли что-то, т. е. я хочу проверить, если s
пусто.
я мог бы использовать мой верный isempty()
на:
function isempty(o) {
for ( var i in o )
return false;
return true;
}
или поскольку объекты jQuery являются массивами, я полагаю, что я мог бы проверить s.length
.
но ни один из них не кажется вполне в идиоме jQuery, не очень jQueryesque. Что ты предлагаешь?
4 ответа:
используйте свойство s. length.
if(s.length == 0) { ... }
[edit] size () устарел в jquery 1.8 http://api.jquery.com/size/
а как же расширения прототип jQuery?
jQuery.fn.isEmpty = function(){ return !this.length }
тогда просто позвоните
s.isEmpty()
что довольно приятно читать:if(s.isEmpty()) { // empty } else { // not empty }
демо
jQuery.fn.isEmpty = function(){ return !this.length } console.log($('#id').isEmpty()); console.log($('#foo').isEmpty());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="foo"></div>