我有一个需要使用jQuery添加类的子div。
<div class="main-content">
<article class="post status-publish">
<div class="post-content>
<div class="vc_row wpb_row vc_row-fluid">
<div class="vc_col-sm-12 wpb_column vc_column_container ">
</div>
</div>
</div>
</article>
</div>
我到目前为止尝试的jQuery代码是:
j('.main-content .post-content').each(function () {
j(this).after().addClass('home-inner-content');
});
这是我希望的结果:
<div class="main-content">
<article class="post status-publish">
<div class="post-content>
<div class="vc_row wpb_row vc_row-fluid home-inner-content">
<div class="vc_col-sm-12 wpb_column vc_column_container ">
</div>
</div>
</div>
</article>
</div>
感谢任何帮助。感谢
答案 0 :(得分:3)
您可能需要以下内容:
j('.main-content .post-content').each(function () {
j(this).children().first().addClass('home-inner-content');
});
.after()
用于插入内容,而非定位内容。
但实际上,我认为你不需要循环。你可以这样做:
j('.main-content .post-content > *:first-child').addClass('home-inner-content');
第一部分选择您想要的元素。 .addClass()
为每个被选中的元素添加一个类。
答案 1 :(得分:3)
如果我理解正确,下一个代码会有所帮助。
$('.main-content .post-content>div').addClass('home-inner-content');
答案 2 :(得分:2)
$('.main-content .post-content').each(function() {
$(this).children().addClass('home-inner-content');
});
body * {
padding-left: 1em;
}
body *:before {
font-family: monospace;
content: attr(class);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="main-content">
<article class="post status-publish">
<div class="post-content">
<div class="vc_row wpb_row vc_row-fluid">
<div class="vc_col-sm-12 wpb_column vc_column_container">
</div>
</div>
</div>
</article>
</div>
答案 3 :(得分:1)
您无需在此处使用每个功能。
j('.main-content .post-content>div').addClass('home-inner-content');