Laissez tomber le gt()
car je suppose que c'est un peu plus lent que :first
.
Utilisez not()
en collaboration avec :first
y :last
:
$('table#tbl > tbody > tr').not(':first').not(':last').addClass('highlight');
La plupart des navigateurs ajoutent automatiquement un tbody
dans le balisage de la table s'il est manquant, c'est pourquoi le sélecteur d'enfants immédiat échouait - il n'y avait pas d'élément <tr>
en tant qu'enfants immédiats de l'élément <table>
étiquette.
Je ne suis pas sûr à 100% que ce soit la façon dont tous les navigateurs procèdent, il serait donc plus sûr d'ajouter simplement l'élément <tbody>
manuellement. Sinon, vous devez renifler un peu et vous ne pouvez pas le faire en une seule fois :
if($('table#tbl > tbody').size() > 0) {
$('table#tbl > tbody > tr').not(':first').not(':last').addClass('highlight');
} else {
$('table#tbl > tr').not(':first').not(':last').addClass('highlight');
}
J'espère que cela résoudra votre problème !