[Jquery] - Problème de sélecteur

- Problème de sélecteur [Jquery] - HTML/CSS - Programmation

Marsh Posté le 02-12-2009 à 14:45:01    

Bonjour à tous,
 
j'ai un petit soucis avec les sélecteurs css et jquery en particulier.
 
Tout d'abord, voici la structure sur laquelle je travaille:
 

Code :
  1. <table rules="alls" frame="box" cellpadding="3" border="1">
  2. <tbody id="tabrouteurs">
  3. <tr>
  4.  <th width="40" bgcolor="#cccccc" align="center">ID</th>
  5.  <th width="50" bgcolor="#cccccc" align="center">Type</th>
  6.  <th width="100" bgcolor="#cccccc" align="center">S/N</th>
  7.  <th width="150" bgcolor="#cccccc" align="center">Client</th>
  8.  <th width="100" bgcolor="#cccccc" align="center">Site</th>
  9.  <th width="90" bgcolor="#cccccc" align="center">IP Lan</th>
  10. </tr>
  11. <tr align="center" id="routeurid5">
  12.  <td style="display: block;" id="id5">5</td>
  13.  <td id="typeid5">CISCO877-K9</td><td id="snid5">FCZ1XXXXXX</td>
  14.  <td id="clientid5">LE CLIENT</td><td id="siteid5">Marseille</td>
  15.  <td id="ipid5">10.251.2.1</td>
  16. </tr>
  17. </tbody>
  18. </table>


 
le dernier "tr" ayant comme id "routeurid5" est issue de ceci:
 

Code :
  1. lignetab = '<tr align="center" id="routeurid'+idr+'"><td id="id'+idr+'" style="display: none">'+idr+'</td><td id="typeid'+idr+'" style="display: none">'+type_r+'</td><td id="snid'+idr+'" style="display: none">'+sn+'</td><td id="clientid'+idr+'" style="display: none">'+client+'</td><td id="siteid'+idr+'" style="display: none">'+site+'</td><td id="ipid'+idr+'" style="display: none">'+ip+'</td></tr>';
  2. $('#tabrouteurs').append(lignetab);


 
Le problème survient après ceci:
 

Code :
  1. $('#tabrouteurs: tr:last td').css('display', 'inline');
  2. OU
  3. $('#tabrouteurs: tr:last td').slideDown('slow');


 
Alors que mon sélecteur "#tabrouteurs: tr:last td" a l'air d'être validé par la page http://www.woods.iki.fi/interactive-jquery-tester.html (conseillé par la page http://docs.jquery.com/DOM/Travers [...] Selectors), en réalité, rien ne ce passe. Le but étant d'animer toutes les cellules de la dernière ligne.
 
Une idée ?
 
Merci d'avance :)

Reply

Marsh Posté le 02-12-2009 à 14:45:01   

Reply

Marsh Posté le 02-12-2009 à 14:50:49    

#tabrouteurs: ne veut rien dire.

 

':' c'est le préfixe des pseudo-classes, donc là tu demandes #tabrouter avec la pseudo-classe tr et la pseudo-classe last, ça ne veut strictement rien dire.

 

Et accessoirement, ton et ton JS sont immondes, tu devrais avoir honte [:romf]


Message édité par masklinn le 02-12-2009 à 14:51:33

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 02-12-2009 à 15:00:35    

Je veux bien te croire concernant mon code. Je pense que vous remarquerez donc que le développement n'est pas vraiment mon cœur de métier :D . Il s'agit de faire ici du "quick & pas trop dirty" mais mes connaissances en javascript/css (surtout css) sont vraiment limités. Je vais me renseigner + en détail concernant les "pseudo-classes" vu qu'apparemment il me manque une notion importante.
 
Quoi qu'il en soit, merci d'avoir répondu.

Reply

Marsh Posté le 02-12-2009 à 15:07:48    

Les pseudo-classes (par opposition aux classes, qui sont des valeurs dans l'attribut "class" d'une node HTML) sont des flags générés (normalement dynamiquement) par le moteur DOM permettant de vérifier des conditions sur une node (est-ce la dernière d'une séquence par exemple, dans le cas de :last)


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 02-12-2009 à 15:25:27    

huuum ok :D
 
Mais au niveau de jquery, on est bien d'accord que "$('#tabrouteurs').blabla()" est valide (tabrouteurs étant un id)? Parce que si même là je me trompe, j'ai plus qu'à tout revoir. Par ailleurs, je ne comprends pas non plus pourquoi http://www.woods.iki.fi/interactive-jquery-tester.html valide mon "sélecteur" si je suis complètement à coté de la plaque.

Reply

Marsh Posté le 02-12-2009 à 16:14:41    

Tricky a écrit :

Mais au niveau de jquery, on est bien d'accord que "$('#tabrouteurs').blabla()" est valide (tabrouteurs étant un id)? Parce que si même là je me trompe, j'ai plus qu'à tout revoir.


Pas de raison que ça soit incorrect :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed