我正在克隆JQuery UI Tabs元素。从克隆的实例中可以正常创建选项卡,但是我无法更改实例上的选项卡。原始的tabs元素可以正常工作。
$("#tabs").tabs();
$('#button').click(function() {
$('#tabs').clone().appendTo('body');
});
<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<div id='tabs'>
<ul>
<li><a href="#tab1">Tab 1</a>
</li>
<li><a href="#tab2">Tab 2</a>
</li>
<li><a href="#tab3">Tab 3</a>
</li>
</ul>
<div id="tab1">aa</div>
<div id="tab2">bb</div>
<div id="tab3">cc</div>
</div>
<button id='button'>Create Tabs</button>
答案 0 :(得分:1)
您需要重新初始化克隆的标签
$("#tabs").tabs();
$('#button').click(function() {
$('#tabs').clone().appendTo('body').tabs();
});
<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<div id='tabs'>
<ul>
<li><a href="#tab1">Tab 1</a>
</li>
<li><a href="#tab2">Tab 2</a>
</li>
<li><a href="#tab3">Tab 3</a>
</li>
</ul>
<div id="tab1">aa</div>
<div id="tab2">bb</div>
<div id="tab3">cc</div>
</div>
<button id='button'>Create Tabs</button>
我也将替换新标签的id
以避免使用相同的id
的2个元素。