jQuery:如何选择所有具有属性但该属性值不等于特定值的元素?

6

如何使用jQuery选择所有具有my_attr属性但其值不等于my_value的元素?

例如,如果my_attramy_value"4",则应按以下方式工作:

<span>Hello</span>          => Not selected
<span a="5">Stack</span>    => Selected
<span b="4">Overflow</span> => Not selected
<span a="4">!!</span>       => Not selected
1个回答

18

要获取"不匹配",你可以使用属性不等于选择器和(问题的其他部分)有属性选择器,像这样:

$("span[a][a!='4']")

如果你想要它相等,只需移除!,使用属性等于选择器,像这样:

$("span[a][a='5']")

要使用变量,只需像这样连接:

$("span[" + my_attr + "][" + my_attr + "!='" + my_value + "']")

嗨,尼克!$("span[a!='4']")匹配所有没有a属性的元素。我想只选择那些具有a属性,但其值不等于“4”的元素。请参见此处:http://jsfiddle.net/phMPw/ - Misha Moroshko
@Misha - 没问题,添加一个 has-attribute 选择器,像这样:span[a][a!='5'],在这里测试它:http://jsfiddle.net/nick_craver/phMPw/2/ - Nick Craver

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