在jQuery中绕过2个重复类包装类

时间:2015-08-28 02:54:15

标签: jquery

我的HTML看起来像这样:

<div class="imageRowHeader">
 Header Content
</div>
<div class="imageRowContent">
  <img src="image.jpg">
</div>

<div class="imageRowHeader">
 Header Content 2
</div>
<div class="imageRowContent">
  <img src="image2.jpg">
</div>

重复多次。

我想使用jQuery使它看起来像这样(我不能直接改变HTML)。

<div class="imageRow">
    <div class="imageRowHeader">
     Header Content
    </div>
    <div class="imageRowContent">
      <img src="image.jpg">
    </div>
</div>

<div class="imageRow">
    <div class="imageRowHeader">
     Header Content
    </div>
    <div class="imageRowContent">
      <img src="image.jpg">
    </div>
</div>

1 个答案:

答案 0 :(得分:3)

您需要遍历每个imageRowHeader,然后对于当前标头和下一个内容同级元素,请调用wrapAll()

$('.imageRowHeader').each(function() {
  $(this).next().addBack().wrapAll('<div class="imageRow"></div>')
})
.imageRow {
  border: 1px solid grey;
  margin-bottom: 5px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="imageRowHeader">
  Header Content
</div>
<div class="imageRowContent">
  <img src="image.jpg">
</div>

<div class="imageRowHeader">
  Header Content 2
</div>
<div class="imageRowContent">
  <img src="image2.jpg">
</div>