我希望能够进行这种选择:
$('input[value between 6 and 11]');
这将给我9和10。有没有办法做到这一点?
我希望能够进行这种选择:
$('input[value between 6 and 11]');
这将给我9和10。有没有办法做到这一点?
您可以使用.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)")
如果您不想包括范围,请将 >=
和 <=
更改为其他符号。
$('input').filter(function(index) {
var value = parseInt($(this).val());
return !isNaN(value) && value > 6 && value < 11;
});
.filter()
方法:$("input").filter(function(){
var v = parseInt($(this).val());
return (v > 9 && v < 11)
});