我有以下标记:
<div class="region">
<div class="award">
<div class="award">
<div class="region">
<div class="award">
<div class="award">
<div class="award">
<div class="award">
<div class="award">
<div class="award">
如何在.region之后定位第3个元素,以便得到类似的内容?
<div class="region">
<div class="award">
<div class="award">
<div class="region">
<div class="award">
<div class="award">
<div class="award third">
<div class="award">
<div class="award">
<div class="award third">
请注意,在第一个.region之后,它不计算前两个.award元素。
提前致谢!
答案 0 :(得分:2)
nextUntil
结合eq
应该这样做:
$("div.region").each(function() {
$(this).nextUntil(":not(.award)").eq(2).addClass("third");
});
Nope, little 比这更复杂,处理第6个元素:
$("div.region").each(function() {
$(this).nextUntil(":not(.award)").filter(function(index) {
return index % 3 == 2;
}).addClass("third");
});
我们抓住每个.region
元素,让他们的兄弟姐妹到达第一个不是.award
(nextUntil
)和filter
个这不是第三个。
(不确定我在map
中使用first working copy的原因,filter
更有意义。)