我有一个jQuery脚本,可以选择所有带有“Phone”的ID。但是,我有一小部分,如果他们在课堂上,则不需要选择它们。
根据我理解的方式,我拥有的是:
$("[id*='Phone']:not('referencePhones')").doSomething();
我错过了什么?
.referencePhones是一个父类。即:
div class="referencePhones"
span id="Phone"
答案 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"]')