【问题标题】:Test for empty jQuery selection result测试空 jQuery 选择结果
【发布时间】:2011-02-08 14:41:12
【问题描述】:

说我愿意

var s = $('#something');

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

我可以使用我信任的isempty() 来处理它:

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

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

但两者似乎都不是 jQuery 的惯用语,不是很 jQueryesque。你有什么建议?

【问题讨论】:

标签: javascript jquery


【解决方案1】:

使用 s.length 属性。

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

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

【讨论】:

    【解决方案2】:
    if($("#something").length > 0 ){
         // Element found
    }
    else{
        // No element found
    }
    

    【讨论】:

      【解决方案3】:

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

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

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

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

      【讨论】:

        猜你喜欢
        • 2011-11-21
        • 2011-02-03
        • 1970-01-01
        • 2019-02-02
        • 2017-09-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多