mettre en évidence la rangée de table avec jquery

Je sais qu'il y a des tonnes de messages sur ce sujet, mais je suis perdu quant à pourquoi le mien ne fonctionne pas.

Je suis en train de mettre en surbrillance une ligne dans ma table:

<tr class="videorow"><td>...</td>...</tr>
...

css:

.highlight {
   background-color: #a8cb17;
}

et enfin mon jQuery:

jQuery(document).on("click", ".videorow", function() {

    //highlight table
    jQuery(".highlight").removeClass("highlight");
    jQuery(this).addClass("highlight");
});

Fondamentalement, je veux mettre en surbrillance une ligne et effacer lorsqu'une ligne est sélectionnée. C'est la première partie je ne peux même pas comprendre.

En outre, je tiens à souligner toute la ligne, sauf que je ne veux pas de la dernière colonne à déclencher une évidence. En d'autres termes, vous pouvez cliquer sur la dernière colonne de la ligne mais ça ne changera pas le mettre en surbrillance.

Quelque chose comme:

jQuery(document).on("click", ".videorow", function() {

    //highlight table
    jQuery(".highlight").removeClass("highlight");
    jQuery('table tr td:not(:last-child)').addClass("highlight");
});

Des conseils sur ces deux questions est apprécié.

MODIFIER: en tapant trop vite. Les erreurs de syntaxe sont juste m'écris au lieu de les copier...fixe maintenant

  • essayez de changer de css:.highlight { background-color: #a8cb17; } à: .highlight td{ background-color: #a8cb17; }
  • Outre les erreurs de syntaxe (votre deuxième sélecteur n'est pas dans une chaîne de caractères), c'est bien.
  • Quel est le comportement actuel vous voyez? Sans fournir une copie de travail, il est difficile de dire ce qui se passe.
  • semble bien jsfiddle.net/RRK2M/1
  • Ceci est incorrect. Il ne fait qu'essayer d'appliquer cette classe sur cliquez sur. Pas de défaut de charge
  • dans le premier chargement, il y a 0 tr avec classe highlight

InformationsquelleAutor Tom | 2013-05-07