jQuery UI-克隆选项卡-不切换选项卡

时间:2019-06-18 07:46:02

标签: jquery jquery-ui jquery-ui-tabs

我正在克隆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>

fiddle

1 个答案:

答案 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个元素。