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

我正在创建动态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小提琴

 $('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。

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

应该成为

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

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

Hiya demo 🙂 http://jsfiddle.net/gP3YZ/7/

 $(document).ready(function() { $("#tabs").tabs({ tabTemplate: "
  • #{label}

    x

  • " }); }); $(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!!!"); } }); }); });​