如何在jQuery中将类添加到div之后?

时间:2016-01-14 02:33:54

标签: javascript jquery html css

我有一个需要使用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>

感谢任何帮助。感谢

4 个答案:

答案 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');