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

问题描述:

我正在创建动态jQuery选项卡。我想分配给每个选项卡的ID。如何将id添加到动态创建的jquery选项卡

$("#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

+0

这样吗? http://jsfiddle.net/gP3YZ/3/不知道关于'1'或'.id(this)= 1'。 –

+0

:(不,它不工作... –

+0

没有这样的方法'.id()'...你试图做什么? –

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

DEMO

注:$('li.ui-state-default').attr('id', 'some_' + index);是改变这一切李的ID有ui-state-default类,但当前的代码将只更改最后一个的ID。

+0

如何将id分配给当前班级 –

+0

@RanaSaani您的意思是选定的选项卡? – thecodeparadox

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

应该成为

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

您使用.attr方法设置属性 “ID”到“1”。

你好演示 :) 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!!!"); 

      } 
     }); 
    }); 


}); 



​