我想你有点错过了
$(ui.tab).html("#close-" + event.target.id);
代码正在执行。这就是告诉jQuery,“让ui.tab的内容成为字符串
"#close-" + event.target.id
为了让生活尽可能简单,我建议在选项卡链接中移动“关闭”跨度,如下所示:
<div id="tabs">
<ul>
<li><a href="#tab1" id="tab1-label-link">
<span id="tab1-label">Label 1</span>
<span id="close-tab1-label" class="no-display">Tab Close</span></a>
</li>
<li><a href="#tab2" id="tab2-label-link">
<span id="tab2-label">Label 2</span>
<span id="close-tab2-label" class="no-display">Tab Close</span></a>
</li>
<li><a href="#tab3" id="tab3-label-link">
<span id="tab3-label">Label 3</span>
<span id="close-tab3-label" class="no-display">Tab Close</span></a>
</li>
</ul>
<div id="tab1" class="tab-content">Information 1</div>
<div id="tab2" class="tab-content">Information 2</div>
<div id="tab3" class="tab-content">Information 3</div>
</div>
然后,交换你的
select
函数
beforeActivate
函数,如下所示:
beforeActivate: function(e, ui) {
var tab = $(ui.newTab),
oldTab = $(ui.oldTab);
tab.find('span').toggleClass('no-display');
oldTab.find('span').toggleClass('no-display');
}
这应该会达到预期的结果。