测试空的jQuery选择结果

时间:2010-04-15 22:10:22

标签: javascript jquery

说我做

var s = $('#something');

接下来我想测试jQuery是否找到#something,即我想测试s是否为空。

我可以使用我信任的isempty()

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

或者由于jQuery对象是数组,我想我可以测试s.length

但是看起来既不是jQuery的成语,也不是jQueryesque。你有什么建议?

4 个答案:

答案 0 :(得分:91)

使用s.length属性。

if(s.length == 0) {
    ...
}

[edit] size()在jquery 1.8中已弃用 http://api.jquery.com/size/

答案 1 :(得分:5)

key

答案 2 :(得分:0)

扩展 jQuery的原型怎么样?

SummaryVal <- cars %>% mutate(kmh = dist/speed) %>% assign("MyValue",.,envir = .GlobalEnv) %>% summary()

然后简单地调用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());

答案 3 :(得分:0)

对我来说,更多jQueryesque解决方案是:

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

这让我以典型的方式写作:

$("#sel").fadeOut(500,afterFade).isEmpty(insteadOfFade);