0

我生成了这样的html:

<div class="row">
   <div class="item google"></div>
   <div class="item mail"></div>
   <div class="item apps"></div>
   <div class="item plus"></div>
</div>
<div class="row">
   <div class="item google"></div>
   <div class="item mail"></div>
   <div class="item apps"></div>
   <div class="item plus"></div>
</div>

我想把其他项目放在谷歌里面

<div class="row">
   <div class="item google">
     <div class="group">
       <div class="item mail"></div>
       <div class="item apps"></div>
       <div class="item plus"></div>
     </div>
  </div>
</div>
<div class="row">
  <div class="item google">
     <div class="group">
       <div class="item mail"></div>
       <div class="item apps"></div>
       <div class="item plus"></div>
     </div>
  </div>
</div>

我正在创建组 div:

jQuery("div.google").append('<div class="group"></div>');

但是当我做 .append 时,我会添加所有的 insted

    jQuery("div.row > div.google > div.group").append(jQuery("div.mail"));

我有两个带有类邮件的 div。如何仅针对父母。编辑:http: //jsfiddle.net/H6MYh/1/

4

4 回答 4

2

试试下面的代码:

jQuery("div.google").append('<div class="group"></div>');
jQuery("div.google").each(function(){
    var $this = jQuery(this);
    $this.siblings().appendTo($this.find('.group'));
});

编辑:对于特定的 div:(未测试)

jQuery("div.google").each(function(){
    var $this = jQuery(this);
    $this.next('.mail').appendTo($this.find('.group'));
});
于 2012-08-31T15:33:37.347 回答
1

您可以使用wrapAll.

$('div.row').each(function(){
     $('div:not(:first)', this).wrapAll('<div class="group"></div>')
})

小提琴

于 2012-08-31T15:33:34.930 回答
0
jQuery("div.google")

获取所有具有“google”类的 div。要仅选择第一个出现,请将 [0] 添加到它。

jQuery("div.google")[0].append('<div class="group"></div>');
jQuery("div.row > div.google > div.group").append(jQuery("div.mail"));
于 2012-08-31T15:31:30.763 回答
0

您可以使用 $(".row").each(...) 依次处理每一行,然后在结果对象上使用 .find(...) 以仅针对其子对象...

于 2012-08-31T15:34:06.160 回答