【问题标题】:How can I get the <span> elements which have a specific class name in jQuery?如何在 jQuery 中获取具有特定类名的 <span> 元素?
【发布时间】:2013-04-16 14:40:18
【问题描述】:

使用 jQuery 1.9.1 和 HTML5,我想捕获只有特定类名的元素。

假设我有以下 HTML 代码:

<div>
     <span class="req">A</span>
     <span class="req notreq">B</span>
     <span class="req notreq">C</span>
     <span class="req">D</span>
</div>

我只想捕获类 req&lt;span&gt; 元素,即值 A 和 D。

使用 jQuery,我可以使用 console.log($('.req')); 捕获所有值,使用 console.log($('span.req.notreq')) 捕获所有 notreq

我只需要req 值。有什么帮助吗?

【问题讨论】:

  • $('span.req:not(.notreq)');
  • @spyder 您是否只想要具有类 req 而没有类 notreq 的跨度,这意味着您想要 A 和 D 值?
  • 或者你的意思是你想要只有类rec的元素,没有任何其他类名? (不一定是notreq)。

标签: jquery html class


【解决方案1】:

只需像这样将类名添加到选择器中...

$("span[class='req']");

这只会返回只有req 作为类的 span 元素。

【讨论】:

  • 我可以添加更多的类,比如 $("span[class='req anotherreq']");
  • 它将查找确切的字符串,而不是多个类的列表。要使该示例起作用,它必须是&lt;span class="req anotherreq"&gt;&lt;/span&gt;,而不是&lt;span class="anotherreq req"&gt;&lt;/span&gt;。它正在检查“类名等于”
  • 没问题 - 很高兴为您提供帮助 :)
  • 我很高兴承认你是对的,但 OP 仍然没有真正澄清他的实际问题,并且因为一个模棱两可的问题而对我投反对票并不是很酷!
  • 现在我可以在这些元素上附加一个类名吗?说我想在找到的元素中添加“muchreq”。对于每个元素,输出应该是 ...
【解决方案2】:
$('span.req').not('.notreq').each(function() {
   console.log($(this).text());
});

【讨论】:

  • 这不会返回只有 req 的那些。它返回没有 notreq 的那些。这不是问题所在。
  • 是的。你不是吗?从问题 - “我想捕获只有特定类名的元素。”
  • 我明白你在说什么 - 不需要这个例子。我的意思是你误解了这个问题并且纯粹是在给出的示例代码上工作。查看这个修改后的示例...jsfiddle.net/G9erN/1
  • 这是问题所在:现在我只想捕获具有类 req 的元素,即值 A 和 D....但我只需要 req 值。可能问题不是很清楚。
  • 是的,我知道。就像我说的你误解了这个问题。请参阅我之前修改过的小提琴的评论。
【解决方案3】:

使用 :not 伪元素:

$('span.req:not(.notreq)');

【讨论】:

  • 这不会返回只有 req 的那些。它返回没有 notreq 的那些。这不是问题所在。
猜你喜欢
  • 2014-11-18
  • 1970-01-01
  • 2017-04-15
  • 2013-09-06
  • 2021-07-25
  • 1970-01-01
  • 1970-01-01
  • 2011-08-26
  • 2015-10-10
相关资源
最近更新 更多