0

我有很多动态生成的盒子。像这样,

<div id="container">

<div class="element">
<div class="1"></div><div class="2"></div>
<div id="star"><div class="flexy threestar price100 city"></div>
<div class="3"></div><div class="4"></div>
</div>


<div class="element">
<div class="1"></div><div class="2"></div>
<div id="star"><div class="flexy fourstar price300 suburb"></div>
<div class="3"></div><div class="4"></div>
</div>


</div>

现在我正在尝试遍历所有框并尝试将 .flexy 复制到父类 .element

所以我用

$( "div.flexy" ).each ( function( ){
$('.element').toggleClass($(this).attr('class'));

//alert( $('div.element').attr('class') );

} 
);

第一次复制工作,之后我上了双班。如何克服这个问题?.element 的结果应该是某事。像

<div class="element flexy fourstar price300 suburb">
  <div class="1"></div><div class="2"></div>
    <div id="star"><div class="flexy fourstar price300 suburb"></div>
  <div class="3"></div><div class="4"></div>
</div>
4

3 回答 3

0

怎么样:

var num = 0;
$( "div.flexy" ).each ( function( ){

$('.element').eq(num).toggleClass($(this).attr('class'));
num++

} 
);

或者

$( "div.flexy" ).each ( function( ){

$(this).parent(".element").toggleClass($(this).attr('class'));

} 
);
于 2012-05-09T10:44:38.307 回答
0

如果副本的目标与下一个副本的选择位于同一部分,那么下次您将获得双打。

你可以:

  1. 复制到不同的部分,没有被复制选择选中

  2. 向元素添加一个类,并在复制选择中排除 thise

于 2012-05-09T10:45:00.817 回答
0

简单地尝试

$("div.flexy").each(function(){
  $this = $(this);
  $this.closest('.element').addClass($this.attr('class')); 
});
于 2012-05-09T10:53:40.360 回答