2016-02-25 36 views
1

工作我有以下HTML页面:jQuery的深克隆不与插件相连元素

<html> 
<head> 
<title>Table</title> 
<link href="style.css" type="text/css" rel="stylesheet"> 
<link href="bootstrap-toggle.min.css" type="text/css" rel="stylesheet"> 
<link href="bootstrap.min.css" type="text/css" rel="stylesheet"> 
</head> 
<body> 
<div id="outer" class="col-md-12"> 
    <div class="col-md-6" id="old"> 
     <input type="checkbox" class="chck" checked data-toggle="toggle" data-on="Ready" data-off="Not Ready" data-onstyle="success" data-offstyle="danger"> 
    </div> 
    <div class="col-md-6" id="new"> 

    </div> 
</div> 

<script src="jquery.js"></script> 
<script src="my.js"></script> 
<script src="bootstrap-toggle.min.js"></script> 
</body> 
</html> 

引导-toggle.min.js转换复选框变成美丽的拨动开关。我克隆上述复选框,并使用下面的代码追加到“ID =新的”分区:

var clone = $('#old').clone(true, true).appendTo('#new'); 

代码工作得很好,并追加克隆元素的整个HTML副本。

但问题是,两个切换开关不能单独在个人层面上工作。只有第一个切换开关响应所有开关上的点击操作。

为什么深度jQuery克隆不保留附加到每个克隆元素的插件?

即使我改变了HTML作为使用类

<div class="col-md-6 first"> 
     <input type="checkbox" checked="checked" data-toggle="toggle" data-on="Ready" data-off="Not Ready" data-onstyle="success" data-offstyle="danger"> 
    </div> 
    <div class="col-md-6 second"> 

    </div> 

var clone = $('.first').clone(true, true).appendTo('.second'); 

这段代码也同样表现与旧下方。

回答

1

你意识到ID必须是唯一的页面是?它看起来像你克隆基于id的东西,然后再次将其附加到页面而不改变它的id,这将使它非唯一和无效的html。

+0

好吧,让我试试使用类 –

+0

可能不是整个问题,但肯定是一种气味。 – Taplar

+0

代码也不起作用。我已经更新了这个问题 –