JQuery:not()选择器与Attribute Contains选择器结合使用

时间:2011-08-16 14:57:31

标签: jquery jquery-selectors

所以我有一个大表单,我需要选择在其id值中具有特定标识符的所有元素。

$("[id*=some-value]")

这非常有用!现在我需要过滤掉这些结果中任何在其id值

中具有另一个密钥标识符的元素
$("[id*=some-value]:not([id*=some-other-value])")

这显然不适合我。

目前我过滤的唯一元素是复选框,所以我可以使用

$("[id*=add-contact-form]:not(:checkbox)")

但是我仍然想知道如何组合两种选择器方法。

3 个答案:

答案 0 :(得分:11)

首先,如果你的id字面上包含“some-value”,那么它会自动排除“some-other-value”。

为了能够获取其他元素,id必须匹配一个点:“some-other-value” - > “ some-value -other”(请参阅​​前2个部分如何匹配)

你可以试试这个:

$("[id*=add-contact-form]").not(":checkbox");

$("[id*=some-value]").not("[id*=some-value-other]");

<强> DEMO

答案 1 :(得分:9)

你已经拥有的似乎对我有用吗?

我建议您查看一下代码,看看是否存在一些阻止jQuery选择器工作的潜在问题。

Take a look

答案 2 :(得分:0)

这对我有用。简单,代码少,有吸引力。

$('*[id=some_id] option[value!=]')

它将选择将value属性设置为某个值的所有选项,并忽略空值。