jQuery:选择属性大于值的所有元素

Ank*_*kur 64 jquery css-selectors inequalities

我知道要使用名为attrName的atttribute过滤元素,其值为attrValue,我这样做:

filter("[attrName='attrValue']")
Run Code Online (Sandbox Code Playgroud)

但是查看文档http://api.jquery.com/category/selectors/我看不到选择所有元素的选项st attrName> attrValue

这会有用吗

   filter("[attrName>'attrValue']")
Run Code Online (Sandbox Code Playgroud)

Nic*_*ver 99

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

.filter(function() {
  return $(this).attr("attrName") > "someValue";
})
Run Code Online (Sandbox Code Playgroud)


Cro*_*zin 25

解决方案是jQuery.filter():

$("selector").filter(function() {
    return  $(this).attr("my-attr") > 123;
});
Run Code Online (Sandbox Code Playgroud)


Jul*_*nec 16

小心,如果你正在玩整数,请确保你正在使用parseInt().

$("selector").filter(function() {
    return parseInt($(this).attr("my-attr")) > 123;
});
Run Code Online (Sandbox Code Playgroud)

  • 同意!某些用户可能会看到"3">"1"为真,并认为在比较之前他们不需要将字符串解析为整数.这是因为ASCII值"3"高于"1"的ASCII值.但是,当您将值与多个数字进行比较时(例如"33">"4"为假而33> 4为真),情况就会向南移动. (3认同)