Javascript jQuery将活动类添加到第三个动态创建的div
我有这个部门:Javascript jQuery将活动类添加到第三个动态创建的div,javascript,jquery,dynamically-generated,Javascript,Jquery,Dynamically Generated,我有这个部门: <div class="mm_vert_container" style="display: block;"></div> 因此,我需要添加到每三个divif exists类active,因此需要如下所示: <div class="mm_vert_container" style="display: block;"> <div>A</div> <div>B</div> &
<div class="mm_vert_container" style="display: block;"></div>
因此,我需要添加到每三个div
if exists类active,因此需要如下所示:
<div class="mm_vert_container" style="display: block;">
<div>A</div>
<div>B</div>
<div>C</div>
<div>D</div>
<div>E</div>
<div>F</div>
</div>
<div class="mm_vert_container" style="display: block;">
<div>A</div>
<div>B</div>
<div class="active">C</div>
<div>D</div>
<div>E</div>
<div>F</div>
</div>
但它并没有将类active添加到第三个元素中。我认为问题是动态生成的div,然后使用上述jQuery代码的DOM元素看不到动态生成的div,这就是为什么不工作的原因?首先注意,当使用第n个子选择器时,索引开始于
1
,因此“C”元素位于索引3
,而不是2
要将类添加到每三个元素中,请使用第n个子元素(3n),如下所示:
<div class="mm_vert_container" style="display: block;">
<div>A</div>
<div>B</div>
<div>C</div>
<div>D</div>
<div>E</div>
<div>F</div>
</div>
<div class="mm_vert_container" style="display: block;">
<div>A</div>
<div>B</div>
<div class="active">C</div>
<div>D</div>
<div>E</div>
<div>F</div>
</div>
$(“.mm\u vert\u container div:nth child(3n)”).addClass(“活动”)代码>
.active{
颜色:#FFF;
背景色:#C00;
}
A.
B
C
D
E
F
使用方法查找.mm\u vert\u容器的子元素
,并选择父元素的第n个子元素
$(".mm_vert_container div:nth-child(3n)").addClass("active");
而不是$(.mm\u vert\u container div:nth child(2)”).addClass(“活动”)代码>代码应该是$(“.mm\u vert\u container div:nth child(3)”).addClass(“active”)
影响第三个孩子,因为第n个孩子(2)
表示第二个孩子
最好使用$(“.mm\u vert\u container div:nth child(3n)”).addClass(“active”)代码>如果你想影响每三个孩子,那么你就不需要循环了。您只能通过CSS来实现这一点
我希望这有帮助
谢谢。请注意,这只会得到第三个元素,而不是每个第三个元素。谢谢使用css工作,但使用jQuery代码不会…动态添加div是否有问题?是的,它会-您需要在添加元素后执行该行jQuery代码-可能是在AJAX请求的回调中。这也是我在提到CSS方法更好时提到的问题。所有答案都非常有用,我添加到最后,因为我尝试了所有解决方案,效果非常好…我对所有答案投了赞成票,并接受了你的答案,因为你的帖子非常详细,第一次发布…谢谢你的帮助