【问题标题】:jQuery select elements with value between x and yjQuery选择值在x和y之间的元素
【发布时间】:2013-10-24 09:11:01
【问题描述】:

我希望能够进行这种选择:

$('input[value between 6 and 11]');

这会给我 9 和 10。 有没有办法做到这一点?

【问题讨论】:

    标签: jquery css-selectors


    【解决方案1】:

    您可以使用.filter() 执行此操作,如下所示:

    $("input").filter(function() { 
      return $(this).val() >= 6 && $(this).val() <= 11; 
    }).somethingHere();
    

    如果您需要经常使用它,您也可以将其设为选择器:

    jQuery.expr[':'].between = function(a, b, c) { 
       var args = c[3].split(',');
       var val = parseInt(jQuery(a).val());
       return val >= parseInt(args[0]) && val <= parseInt(args[1]);
    };
    

    然后你可以选择:

    $("input:between(6, 11)")
    

    如果您不希望范围包含在内,只需更改 &gt;=&lt;=

    【讨论】:

    • 谢谢,这很有用
    【解决方案2】:

    你可以使用过滤器function:

    $('input').filter(function(index) {
        var value = parseInt($(this).val());
        return !isNaN(value) && value > 6 && value < 11;
    });
    

    【讨论】:

    • 非常感谢,我不知道怎么用 filter()
    【解决方案3】:

    你可以使用.filter():

    $("input").filter(function(){
       var v = parseInt($(this).val());
       return (v > 9 && v < 11)
    });
    

    【讨论】:

    • 非常感谢,我不知道怎么用 filter()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多