jQuery选择值在x和y之间的元素

5

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

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

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

3个回答

15

您可以使用.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)")

如果您不想包括范围,请将 >=<= 更改为其他符号。


4
你可以使用过滤器函数
$('input').filter(function(index) {
    var value = parseInt($(this).val());
    return !isNaN(value) && value > 6 && value < 11;
});

非常感谢,我不知道如何使用filter()函数。 - Pierre de LESPINAY

2
您可以使用.filter()方法:
$("input").filter(function(){
   var v = parseInt($(this).val());
   return (v > 9 && v < 11)
});

非常感谢,我不知道如何使用filter()。 - Pierre de LESPINAY

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接