2009-10-06 10 views
0

Je travaille sur une table où toutes les lignes ont au moins une classe. Certaines lignes ont deux classes et d'autres ont une classe et un identifiant.Plus d'un cours interrompt jquery selector?

J'ai un simple bit une jquery pour cacher et afficher des lignes sur un clic, cependant quand tous les attributs sont définis, rien ne se passe.

Si je supprime les attributs supplémentaires, de sorte que seuls ceux du script jquery sont utilisés, tout fonctionne comme prévu, mais ne semble pas correct car le style n'est plus appliqué.

Est-ce que quelqu'un sait ce qui se passe ici?

C'est le jquery

`$("td.toggleguest").click(function(){ 
     var delegaterow = $(this).parent().attr('id'); 
     var rowspl = delegaterow.split('_'); 
     var rownum = rowspl[1]; 
     $('tr.subrow_'+rownum).toggle(); 
     }); 

`

Exemple HTML Markup copié à partir du code source:

<tr id="delegaterow_7" class="light_row"> 
<td class="toggleguest">Some Content</td> 
<td>Some Content</td> 
<td>Some Content</td> 
<td>Some Content</td> 
<td>Some Content</td> 
<td>Some Content</td> 
<td>Some Content</td> 
</tr> 
<tr class="light_row" class="subrow_7">  
<td colspan="6">Some Content</td> 
<td>Some Content</td> 
</tr> 

Le tableau comporte des lignes pour les personnes (chacune avec un id de row_X), avec quelques rangées ayant des invités. Les lignes invitées reçoivent le nom de classe 'subrow_X' où X correspond à l'ID de la ligne parente.

Je préférerais ne pas faire cela avec des tables, mais c'est hors de mon contrôle.

Un conseil serait grandement apprécié.

Merci.

+1

Allez-vous poster un message HTML (rendu)? – TheVillageIdiot

Répondre

7

La syntaxe HTML que vous utilisez est incorrect:

<tr class="light_row" class="subrow_7">  

Il est interdit d'avoir plus d'un même attribut. Par conséquent, combinez l'attribut de classe dans un attribut comme celui-ci:

<tr class="light_row subrow_7"> 

jQuery devrait fonctionner maintenant.

+0

C'est pourquoi les gens devraient valider leur HTML avant de poser des questions. – slikts