Comment sélectionner tous les enfants sauf premier et dernier avec les sélecteurs CSS

Comment pourrais-je sélectionner tous les enfants d’une table, sauf le premier et le dernier? J’ai essayé ceci, mais cela finit par sélectionner tous les enfants qui ne sont pas les premiers et tous les enfants qui ne sont pas les derniers, ce qui finit par être tous des enfants:

table.programs tr td:not(:first-child), table.programs tr td:not(:last-child) { } 

Je veux tous les enfants qui ne sont ni les premiers ni les derniers. Comment puis-je faire ceci?

Utilisez deux sélecteurs :not() combinés, faisant ainsi référence à des éléments correspondant à chacun d’eux, c’est-à-dire à des éléments qui ne correspondent à aucun des sélecteurs utilisés comme opérandes de :not() :

 table.programs td:not(:first-child):not(:last-child) 

La solution jQuery est correcte, mais si vous voulez le faire en CSS pur, je vous suggère d’appliquer les règles à l’ensemble de la table, puis de les réinitialiser pour le premier et le dernier enfant. c’est à dire:

 table.programs tr td { /* your rules here */ } table.programs tr:first-child td:first-child, table.programs tr:last-child td:last-child { /* reset your rules here */ } 

jsfiddle démo

Je pense que cela devrait fonctionner pour vous:

 table.programs tr td:not(:first-child,:last-child)