Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jQuery选择不在特定类中的ID_Jquery_Css Selectors - Fatal编程技术网

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

如何使用jQuery选择不在特定类中的ID,jquery,css-selectors,Jquery,Css Selectors,我有一个jQuery脚本,可以选择所有带有“Phone”的ID。但是,我有一小部分,如果他们在一个类中,我不需要选择他们 根据我的理解,我所拥有的是: $("[id*='Phone']:not('referencePhones')").doSomething(); 我错过了什么 .referencePhones是父类。即: div class="referencePhones" span id="Phone" 一个点 摆脱你的内部报价: $('someElement[id*=Phone]

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

根据我的理解,我所拥有的是:

$("[id*='Phone']:not('referencePhones')").doSomething();
我错过了什么

.referencePhones是父类。即:

div class="referencePhones"
  span id="Phone"
一个点


摆脱你的内部报价:

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

$('span[id*=Phone]').parent('div:not(.referencePhones)').doSomething();
您的代码看起来如下所示,对吗

<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>

电话2
电话3
电话4
电话5
电话6
电话7
电话8
电话9

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

以下选择器返回跨度:

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

不。我试过了。那个班是家长。referencePhones#Phone您必须将筛选器()与is(!referencePhones)一起使用;等我有空的时候,我会写信给你,告诉你我的想法是非常清楚的,想的太多了。我想是时候拿起jQuery的行动手册了!我知道你接受了这个答案,虽然它“有效”,但它不是最好的解决方案。我不想玩酸葡萄游戏,但我的解决方案要快得多,因为它只会搜索带有phone id的
span
,而不是像这个解决方案那样搜索页面上的每个元素。只是说说而已。
<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>
$('div:not(.referencePhones) span[id*="Phone"]')