如何使用jQuery选择不在特定类中的ID

时间:2009-10-15 20:42:17

标签: jquery css-selectors

我有一个jQuery脚本,可以选择所有带有“Phone”的ID。但是,我有一小部分,如果他们在课堂上,则不需要选择它们。

根据我理解的方式,我拥有的是:

$("[id*='Phone']:not('referencePhones')").doSomething();

我错过了什么?

.referencePhones是一个父类。即:

div class="referencePhones"
  span id="Phone"

4 个答案:

答案 0 :(得分:9)

摆脱内部引用:

$('someElement[id*=Phone]:not(.referencePhones)').doSomething();

编辑

$('span[id*=Phone]').parent('div:not(.referencePhones)').doSomething();

答案 1 :(得分:4)

点?

$("[id*='Phone']:not(.referencePhones)").doSomething();
                     ^

答案 2 :(得分:3)

$("[id*='Phone']").parent(":not('.referencePhones')").css("color","red");

您的代码如下所示?

<div class="referencePhones">
  <span id="Phone2">phone2</span>
  <span id="Phone3">phone3</span>
  <span id="Phone4">phone4</span>
  <span id="Phone5">phone5</span>      
</div>

<div class="zzz">
  <span id="Phone6">phone6</span>
  <span id="Phone7">phone7</span>
  <span id="Phone8">phone8</span>
  <span id="Phone9">phone9</span>      
</div>

答案 3 :(得分:0)

OP要求选择包含“phone”的id的跨度,只要它们不包含在具有“referencePhones”类的div中。所有使用parent()的解决方案都返回父div而不是span。

以下选择器返回跨度:

$('div:not(.referencePhones) span[id*="Phone"]')