1

我正在使用以下脚本向我的页面动态添加选项卡:

var tabs = $("#tabs");
$.each(results, function(index, item) {
    tabs.tabs("add","get_tab_content.aspx?tab=" + item.key, item.value);
});

其中results包含 json 数据。

这一切都可以找到,除了当我尝试id通过以下脚本获取选项卡时:

$("li.ui-tabs-selected").attr("id")

该行不返回任何内容,就好像id没有为上面循环中的选项卡设置 an 一样。

但是,如果我手动输入添加选项卡和 ID,则该行可以正常工作,例如

<div id="tabs">
    <ul>
        <li class="tab" id="tab_1"><a href="tab0.htm">Home</a></li>
        <li class="tab" id="tab_2"><a href="tab1.htm">Default</a></li>
    </ul>
</div>

对于本手册 html,该行$("li.ui-tabs-selected").attr("id")返回tab_1tab_2

id当我使用上面的循环创建选项卡时,如何获取选项卡的?我假设我需要在添加标签时给他们 id?但这只是一个假设。如果是这样,我该如何给他们ID?

4

1 回答 1

1

它不添加ids,因为它不需要。

它使用选项卡的索引来识别它们。

为什么你需要有他们的身份证?


更新

要为每个选项卡添加一个 id,您可以执行以下操作(假设您使用您在问题中提供的代码,默认情况下会在末尾添加新选项卡

tabs.tabs("add","get_tab_content.aspx?tab=" + item.key, item.value)
    .find('>ul>li:last') // find the last li element, the tab we just added
    .attr('id',item.id); // use whatever id you want here ..i assumed you have an id in your json..

示例:http: //jsfiddle.net/gaby/7Grb8/


更新 2

如果你想用索引来做,那么你应该使用文档var selected = tabs.tabs( "option", "selected" );中描述的

于 2011-05-19T14:19:53.890 回答