2013-05-08 65 views
-1

这甚至可能吗?使用数据属性克隆并附加一个Div给Div使用

我的主div里面有一个div,我克隆了它并为每个克隆的元素分配了一个唯一的数据属性。这些克隆的div里面有div,我也希望它们也被克隆。那么,我将如何使用.clone().appendTo()方法来做到这一点?

这里是我的代码的某些部分:

<div id="card_grid"> 
    <div class="cards_slot" data-unique="0" id="cards_slot"> 
     <div class="play_cards"></div> 
    </div> 
</div> 

的jQuery,JavaScript的:

//Clone the card slots 
for(var i=0;i<=18;i++) { 
    $(".cards_slot:first-child").clone().appendTo("#card_grid"); 
} 

//Initialize the cards slots' position 
$("#card_grid").children().each(function(index) { 
    $(this).css({ 
     "left" : ($(this).width() + 50) * (index % 5), 
     "top" : ($(this).height() + 20) * Math.floor(index/5) 
    }); 
    var child_position = ($(this).parent().children().index(this)); 
    var element_id = $(this).attr('id'); 
    var new_id = element_id + child_position; 
    $(this).attr('id', new_id); 

    $(this).attr('data-unique', child_position); 
}); 
+0

当克隆它的孩子们太克隆的元素。检查DOM,你会看到克隆的_empty_ div后代。 – undefined 2013-05-08 00:45:08

+0

@undefined,是的。我真正想做的是克隆我克隆的div内的div。 – JetPro 2013-05-08 00:47:07

+0

和什么意思?选择器? – Johnny000 2013-05-08 00:48:40

回答

1

是的,这是可能的。

var $toBeCloned = $(".cards_slot:first-child"); 

for(var i=0;i<=18;i++) { 
    var $cloned = $toBeCloned.clone(); 
    $cloned.find('div:first').clone().appendTo($cloned); 
    $cloned.appendTo("#card_grid"); 
} 

http://jsfiddle.net/3JSPc/