所以我有一个大表单,我需要选择在其id值中具有特定标识符的所有元素。
$("[id*=some-value]")
这非常有用!现在我需要过滤掉这些结果中任何在其id值
中具有另一个密钥标识符的元素$("[id*=some-value]:not([id*=some-other-value])")
这显然不适合我。
目前我过滤的唯一元素是复选框,所以我可以使用
$("[id*=add-contact-form]:not(:checkbox)")
但是我仍然想知道如何组合两种选择器方法。
答案 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)
答案 2 :(得分:0)
这对我有用。简单,代码少,有吸引力。
$('*[id=some_id] option[value!=]')
它将选择将value属性设置为某个值的所有选项,并忽略空值。