Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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
Javascript jQuery将活动类添加到第三个动态创建的div_Javascript_Jquery_Dynamically Generated - Fatal编程技术网

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方法更好时提到的问题。所有答案都非常有用,我添加到最后,因为我尝试了所有解决方案,效果非常好…我对所有答案投了赞成票,并接受了你的答案,因为你的帖子非常详细,第一次发布…谢谢你的帮助