我目前遇到的问题是jquery Tabs UI生成标签的div。
通常,用户首先会调用$(“tabs”)。tab()来初始化标签。
<div id="tabs">
<ul>
<li>
<a href="controls/form_unassigned.html" id="channel1_link">CH1 N/A</a>
</li>
<li>
<a href="controls/form_srw.html" id="channel2_link">CH2 N/A</a>
</li>
</ul>
</div>
这将创建
<div id="ui-tabs-1" class="ui-tabs-panel ui-widget-content ui-corner-bottom">
</div>
<div id="ui-tabs-2" class="ui-tabs-panel ui-widget-content ui-corner-bottom">
</div>
div id是“ui-”+ +的预期值。
但是如果你调用$(“tabs”)。tab()再次初始化而不刷新浏览器,增加的id不会从0开始从2开始。因此选项卡将设置为:
<div id="ui-tabs-3" class="ui-tabs-panel ui-widget-content ui-corner-bottom">
</div>
<div id="ui-tabs-4" class="ui-tabs-panel ui-widget-content ui-corner-bottom">
</div>
然而,我想要的欲望效果是每次调用initialize时id从0开始。所以不是3/4为div id,我想要1/2。我尝试在每次初始化时调用.tabs('destroy'),希望能重置自动生成的id,但这也不起作用。我在jquery选项卡UI上找不到任何可以解决此问题的内容,或者我只是没有看到它。
我希望id从0开始的原因是因为我使用这个特定的div来动态填充内容。
任何建议表示赞赏,谢谢! d
答案 0 :(得分:0)
如果不修改jQuery UI源代码就不可能。
tabId
只能从包含标签模块的anonymous function内部看到,并且不会“导出”任何功能来更改它。
如果您可以接受非常脏的黑客攻击,请在该功能中添加以下内容:
window.resetTabID = function() {
tabId = 0;
}
这将允许您调用全局函数resetTabID()
来重置选项卡ID。但是,你最好不要使用这样的黑客。
答案 1 :(得分:0)
Per this post - 使用title属性。
<div id="example">
<ul>
<li><a href="ahah_1.html"><span>Content 1</span></a></li>
<li><a href="ahah_2.html"><span>Content 2</span></a></li>
<li><a href="ahah_3.html"><span>Content 3</span></a></li>
</ul>
</div>
Obviously this degrades gracefully - the links, e.g. the content, will still be accessible with JavaScript disabled.
Note that if you wish to reuse an existing container, you could do so by matching a title attribute and the container's id:
<li><a href="hello/world.html" title="Todo Overview"> ... </a></li>
and a container like:
<div id="Todo_Overview"> ... </div>
&#13;
效果很好!