如何将id添加到动态创建的jquery选项卡中

时间:2012-05-17 08:23:10

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

我正在动态创建jQuery选项卡。我想将id分配给每个标签。

$("#addTab").live('click', function() {
    index++;
    var title = 'Tab.....  ' + index;
    var url = '#fragment-' + index;

    addTab(url, title, index);
    $('li[class=ui-state-default]').id(this)=1; // this line to add id

});

但是id没有分配给标签..

JS Fiddle

3 个答案:

答案 0 :(得分:2)

 $('li[class=ui-state-default]').id(this)=1

应该成为

 $('YOUR_NEW_TAB_SELECTOR').attr('id',1)

使用.attr方法将属性“id”设置为“1”。

答案 1 :(得分:1)

$('li.ui-state-default:last').attr('id', 'some_' + index); // only Numeric id not allowed

<强> DEMO

注意: $('li.ui-state-default').attr('id', 'some_' + index);更改了所有li的ID都有ui-state-default类,但当前代码只会更改最后一个ID。

答案 2 :(得分:1)

Hiya 演示 :) http://jsfiddle.net/gP3YZ/7/

<强>码

$(document).ready(function() {
    $("#tabs").tabs({
        tabTemplate: "<li><a href='#{href}'>#{label}</a> <p title='close' id='removeTab' style='cursor:pointer;display:inline'>x</p></li>"
    });
});

$(function() {
    var index = 0;
    $("#addTab").live('click', function() {
        index++;
        var title = 'Tab.....  ' + index;
        var url = '#fragment-' + index;

        addTab(url, title, index);
        $('li.ui-state-default').attr("id","1");
        alert($('li.ui-state-default').attr("id"));

    });

    function addTab(url, title, index) {

        $('#tabs').tabs("add", url, title, [index]);
    }
    $('#removeTab').live('click', function() {
    selected = $('p[id=removeTab]').index(this); // this line to add id
      $('#tabs').tabs("remove", [selected]);

    });


     $('#appendText').live('click', function() {
        $('#tabs .ui-tabs-panel').each(function(index) {

             if(!($(this).hasClass('ui-tabs-hide'))){
                 //do the dew!
                 $(this).append("Bla Bla!!!");

             }
        });
    });


});



​