jquery
  • jquery-ui
  • tabs
  • jquery-ui-tabs
  • jquery-tabs
  • 2012-05-17 3 views 1 likes 
    1

    Je crée dynamiquement des onglets jquery. Je veux associer l'ID à chaque onglet.Ajouter un identifiant dynamiquement aux onglets jquery

    $(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",index); 
    }); 
    

    Ce code attribue l'ID avec succès. Mais quand je crée un nouvel onglet. Il assigne l'identifiant à la classe entière. Je ne voulais pas faire ça. Je veux juste assigner l'identifiant unique à chaque classe

    JS Fiddle

    http://jsfiddle.net/gP3YZ/9/

    +0

    Cela ressemble à quelque chose que vous devriez faire ** dans ** votre fonction 'addTab()', plutôt qu'ici. –

    +0

    Sa fonction jquery par défaut –

    +1

    'addTab()' n'est pas ** une fonction jQuery. Ce que je voulais dire, c'est que, puisque c'est 'addTab()' qui crée les nouveaux onglets dynamiques, pourquoi ne pas ajouter la logique pour y ajouter 'id'? Au lieu de faire cela * après * 'addTab()' renvoie. –

    Répondre

    3
    $('li.ui-state-default:last').attr("id",index).attr('id'); 
    

    DEMO

    3
    $('li.ui-state-default').each(function(){ 
        $(this).attr("id",index++); 
    }); 
    

    Par ailleurs, il est une mauvaise pratique d'utiliser des chiffres comme ID de l'élément DOM, utilisez quelque chose comme ("item-"+index) comme attribut id.

    Questions connexes