2010-04-29 11 views
0

Je rencontre un problème avec le script jQuery UI Tabs qui ne reprend pas les onglets qui ont un point "." dans leur nom (ID).jquery ID du groupe d'onglets

Par exemple comme ceci:

<script type="text/javascript"> 
    $(function() { 
     $("#tabgroup\\.services").tabs(); 
    }); 
</script> 

<div id="tabgroup.Services"> 
    <ul> 

     <li><a href="#tab.service1"> 
      Service 1 title</a></li> 

     <li><a href="#tab.service2"> 
      Service 2 title</a></li> 

    </ul> 

<div id="tab.service1"> 
    <p>content</p> 
</div> 

<div id="tab.service2"> 
    <p>content</p> 
</div> 

</div> 

Le problème est dû au fait de sélectionner un élément avec un point en son nom, vous devez utiliser échappe (comme quand j'initialiser les onglets sur mon tabgroup). Et apparemment, l'implémentation de JS Tabs ne le fait pas. Bien que je puisse le faire au niveau du groupe d'onglets, je ne peux pas le faire plus bas car cela est implémenté dans le fichier JS Tabs et je ne voudrais pas le modifier (si possible).

Répondre

0

Si vous échappez dans les hash sur les liens que ça va marcher, comme ceci:

<div id="tabgroup.services"> 
<ul> 
    <li><a href="#tab\.service1"> 
     Service 1 title</a></li> 
    <li><a href="#tab\.service2"> 
     Service 2 title</a></li> 
</ul> 
<div id="tab.service1"> 
    <p>content</p> 
</div> 
<div id="tab.service2"> 
    <p>content</p> 
</div> 
</div>​ 

Cela fonctionne car il utilise le hachage de l'ancre comme le sélecteur de l'onglet, vous avez juste besoin d'un sélecteur cela fonctionne pour trouver l'onglet que vous voulez. You can see a working example here