2016-03-08 97 views
0

如果我克隆一个元素,那么如果我想自定义该元素(由id)如何定制克隆的元素?如果我克隆一个元素,当我定制(CSS)该元素如何可以定制克隆的元素?

我的尝试:

<div id="A"> //the element that will be clone 
</div> 

<div id="box" style="margin-top: 50px"> //into this box 
</div> 

CSS

#A{ 
    width: 100px; 
    height: 100px; 
    background: #000; 
} 

JS

$('#A').clone(true).appendTo('#box'); 
$('#A').css('background','#ff0000'); 

//i want to get red background also to element cloned, infact only the true original element change color :/ 

这是的jsfiddle:https://jsfiddle.net/t90ptkcz/1/

我希望这是可能的,你可以帮助米即非常感谢和抱歉,我的英语水平:)

+2

更改订单。首先申请CSS然后做克隆。 –

+0

您将需要更改克隆元素的'id'属性,因为在文档中id必须是唯一的。如果您想将元素分组在一起,请使用一个类。 –

回答

3

ID # selector发现从DOM独特的单个元素虽然有ID存在相同的DOM但class . selector多个元素用于获取元素的组,具有相同的类名

<div id="A" class="someClass" > //the element that will be clone 
</div> 

<div id="box" style="margin-top: 50px"> //into this box 
</div> 

JS

$('#A').clone(true).appendTo('#box'); 
$('.someClass').css('background','#ff0000'); 
0

我更喜欢从@shu的答案,但是我不知道在这种情况下,这可能是有用的,可以通过实现一个jQuery插件有两种方法正是你想要的实现:

  • $.fn.cloneAndRemember - 将克隆的元素,并在源元件和其克隆(或克隆)存储到字典
  • $.fn.withClones - 会给你jQuery对象集合,其包括所选择的元素及其所有克隆(从字典检索)

使用情况下会再看看这样的:你的jQuery线

$('#A').cloneAndRemember(true).appendTo('#box'); 
$('#A').withClones().css('background','#ff0000');