我知道要筛选一个具有属性名为attrName,其值为attrValue的元素,可以这样做:
filter("[attrName='attrValue']")
但是查看文档http://api.jquery.com/category/selectors/,我找不到选择所有属性名大于attrValue的元素的选项。这个能行吗?
filter("[attrName>'attrValue']")
我知道要筛选一个具有属性名为attrName,其值为attrValue的元素,可以这样做:
filter("[attrName='attrValue']")
但是查看文档http://api.jquery.com/category/selectors/,我找不到选择所有属性名大于attrValue的元素的选项。 filter("[attrName>'attrValue']")
.filter()
函数的重载来实现,像这样:.filter(function() {
return $(this).attr("attrName") > "someValue";
})
解决方案是jQuery.filter():
$("selector").filter(function() {
return $(this).attr("my-attr") > 123;
});
请注意,如果你在使用整数,请确保使用 parseInt()
函数。
$("selector").filter(function() {
return parseInt($(this).attr("my-attr")) > 123;
});
关于ES6箭头函数
$("selector").filter((index, el) => {
return parseInt($(el).attr("attrName")) > 123;
});
[attribute!=0]
。 - Damien