我正在使用引导程序模板。它有一个弹出式产品模态,它附加了某些信息。我的引导选项卡不起作用,因为它们被附加到模态。
这是一个显示问题的jsfiddle。第一个标签有效,但附加的标签不起作用。
HTML:
<div class="test">
<div role="tabpanel" id="tabs">
<!-- Nav tabs -->
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="active"><a href="#home" aria-controls="home" role="tab" data-toggle="tab">Home</a></li>
<li role="presentation"><a href="#profile" aria-controls="profile" role="tab" data-toggle="tab">Profile</a></li>
<li role="presentation"><a href="#messages" aria-controls="messages" role="tab" data-toggle="tab">Messages</a></li>
<li role="presentation"><a href="#settings" aria-controls="settings" role="tab" data-toggle="tab">Settings</a></li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<div role="tabpanel" class="tab-pane active" id="home">A</div>
<div role="tabpanel" class="tab-pane" id="profile">B</div>
<div role="tabpanel" class="tab-pane" id="messages">C</div>
<div role="tabpanel" class="tab-pane" id="settings">D</div>
</div>
</div>
</div>
JS:
$('.test').append($('#tabs').html())
答案 0 :(得分:1)
这是一个有效的解决方案:
http://jsfiddle.net/wLbLzqcv/1/
它并不漂亮,但它突出了您的代码出了什么问题。你的身份不应该重复。
var html = $('.test').html();
var $html = $(html);
$html.find(".tab-pane").each(function(){
var $tabPane = $(this);
$tabPane.attr("id", $tabPane.attr("id") + "newid");
})
$html.find("a[data-toggle='tab']").each(function(){
var $anchor = $(this);
$anchor.attr("href", $anchor.attr("href") + "newid");
})
$('.test').append($html)