jQuery: Selecting all elements where attribute is greater than a value
I know that to filter an element with an atttribute called attrName which has value attrValue I do:
filter("[attrName='attrValue']")
but looking at the docs http://api.jquery.com/category/selectors/ I can't see an option to select all elements s.t. at开发者_如何学编程trName>attrValue
Will this work
filter("[attrName>'attrValue']")
You can do this using the function overload of .filter()
, like this:
.filter(function() {
return $(this).attr("attrName") > "someValue";
})
The solution is jQuery.filter():
$("selector").filter(function() {
return $(this).attr("my-attr") > 123;
});
Be careful, if you are playing with integers make sure you are using parseInt()
.
$("selector").filter(function() {
return parseInt($(this).attr("my-attr")) > 123;
});
For ES6 arrow function
$("selector").filter((index, el) => {
return parseInt($(el).attr("attrName")) > 123;
});
精彩评论