我有一个jQuery脚本,用于选择其中包含'Phone'的所有ID。但是,我有一小部分,如果他们在课堂上,则不需要选择它们。如何使用jQuery选择不在特定类中的ID
我有什么,按照我的理解它的方式是这样的:
$("[id*='Phone']:not('referencePhones')").doSomething();
我缺少什么?
.referencePhones是父类。即:
div class="referencePhones"
span id="Phone"
我有一个jQuery脚本,用于选择其中包含'Phone'的所有ID。但是,我有一小部分,如果他们在课堂上,则不需要选择它们。如何使用jQuery选择不在特定类中的ID
我有什么,按照我的理解它的方式是这样的:
$("[id*='Phone']:not('referencePhones')").doSomething();
我缺少什么?
.referencePhones是父类。即:
div class="referencePhones"
span id="Phone"
$("[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>
一个点?
$("[id*='Phone']:not(.referencePhones)").doSomething();
^
不。试过了。那个班是父母。 .referencePhones #Phones – Mikecancook 2009-10-15 20:48:28
摆脱你的内部报价:
$('someElement[id*=Phone]:not(.referencePhones)').doSomething();
编辑
$('span[id*=Phone]').parent('div:not(.referencePhones)').doSomething();
还是没有爱。 ; o( – Mikecancook 2009-10-15 20:59:36
你必须使用filter()和is(!referencePhones)一起使用;当我有一段时间生病时,用你编辑的新信息给你写选择器 – adardesign 2009-10-15 21:07:13
,事情会改变... – Jason 2009-10-15 21:41:43
OP要求选择带有“phone”的id的跨度,只要它们不包含在class为“referencePhones”的div中。所有使用parent()的解决方案都会返回父div,而不是span。
以下选择返回跨度:
$('div:not(.referencePhones) span[id*="Phone"]')
我知道你接受了这个答案,虽然它“有效”,但它不是最好的解决方案。酸葡萄,但我的解决方案要快得多,因为它只会搜索带有手机ID而不是页面上每一个元素的'span',就像这个解决方案所说的那样。 – Jason 2009-10-15 22:51:36
Jason说的是真的。 – easement 2009-10-16 12:43:58