有多个

时间:2017-09-22 18:38:01

标签: jquery css

<span class="a b"/>
<span class="a b"/>
<span class="a b c"/>

如何根据包含所有三个跨度的集合中唯一一个具有类c的元素来选择第三个元素?

var mySet = $("span");
var last = mySet.find(".c")

......似乎没有用。

2 个答案:

答案 0 :(得分:2)

只需使用您要定位的类名。你也不需要span,这是过于具体和不必要的。

$(".c");

.c{

}

// ----编辑--- 您对问题进行了编辑,使其更加清晰,但如果您的逻辑非常接近,我仍然认为只针对您想要的一个元素是最好的方法。 如果您需要多次使用跨度列表,则需要使用jQuery对象中的.filter()方法。

const $spans = $("span");
const $cSpan = $spans.filter(".c");

注意变量名称上的$。这意味着它是一个jQuery对象,而不是来自DOM的元素

答案 1 :(得分:1)

您可以选择:

span.a.b.c

&#13;
&#13;
$('span.a.b.c').css('color','red')
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="a b">a b</span>
<span class="a b">a b</span>
<span class="a b c">a b c</span>
&#13;
&#13;
&#13;

span.c

&#13;
&#13;
$('span.c').css('color','red')
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="a b">a b</span>
<span class="a b">a b</span>
<span class="a b c">a b c</span>
&#13;
&#13;
&#13;

span.b.c

&#13;
&#13;
$('span.b.c').css('color','red')
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="a b">a b</span>
<span class="a b">a b</span>
<span class="a b c">a b c</span>
&#13;
&#13;
&#13;

span.a.c

&#13;
&#13;
$('span.a.c').css('color','red')
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="a b">a b</span>
<span class="a b">a b</span>
<span class="a b c">a b c</span>
&#13;
&#13;
&#13;