2012-10-25 63 views
-1

我有我的看法是这样给予ID jQuery的标签

<li><a href="SearchQC.do?mode=view">Add to QC List</a></li> 

jQuery自动创建一个div,并在运行时为其分配id ui-tabs-1。我该如何改变它?

编辑

我并不需要真正的改变它。如果这个ID保持不变,那么没有probs。但在稍后阶段,如果我在此之前添加了另一个标签,那么该标识将被分配给其他标签。

+0

你为什么要改变它? –

+0

你想要什么ID?代码中没有指定ID。 – sdespont

+0

@MateiMihai我需要id来重新加载标签内容(div内容动态)。还需要一些样式。 –

回答

0

猜你可能不需要它了...我回答这个帮助别人,可能面临同样的情况,你和我分享。我需要相同,并与一些研究,我才得以与此功能上来......

$(window).load 
     (function() { 

      var abasRenomear = $('a[href^="#ui-tabs-"]'); 
      var abaRenomear = []; 
      var divAba; 

      for (var i = 0; i < abasRenomear.length; i++) { 
       abaRenomear = abasRenomear[i]; 
       divAba = document.getElementById(abaRenomear.hash.substr(1, abaRenomear.hash.length - 1));      
       divAba.setAttribute("id", abaRenomear.innerHTML); 
       abaRenomear.setAttribute("href", "#" + abaRenomear.innerHTML); 
      } 
     } 
    ); 

这样,你的div ID将被替换,还您一个标签的href属性相匹配。他们都会得到标签的标题(固定ID)。我是Jquery和JavaScript的新手,所以这个解决方案可能不是最好的,但似乎解决了你的要求。

谢谢。

1

您可以使用

$('#tabs li').each(function(){ 
    var new_id = ''; 
    switch($(this).attr('id')) { 
     case 'ui-tabs-1': 
      new_id = 'my_first_new_id'; 
     break; 
     case 'ui-tabs-2': 
      new_id = 'my_second_new_id'; 
     break; 
    } 

    $(this).attr('id',new_id); 
}); 
+0

如果我以后添加一个新选项卡,该怎么办?那么新的id将会引用其他的东西。 –