Question

J'ai une table qui utilise un trieur de tables et des rayures zébrées pour les lignes du tableau.Je voudrais ajouter des rayures zébrées à une seule des COLONNES du tableau pour lui donner un peu d'importance.comme ça:

The general idea of what I'm looking to do

Était-ce utile?

La solution

Si vous connaissez l'index de colonne de celle que vous souhaitez séparer, vous pouvez le faire uniquement en CSS, en utilisant des sélecteurs :nth-of-type comme ceci :

tr:nth-of-type(even) td:nth-of-type(3) { background: rgba(0,0,0,0.1); }

(Où 3 est utilisé comme espace réservé pour l'index de votre colonne cible)

Une autre option serait de placer une classe sur l'en-tête (ou le premier td) de la colonne que vous souhaitez répartir, puis d'utiliser JS pour répartir les autres tds dans la même colonne :

var col_to_stripe = $('th.stripe-this-one').index();

$('table.selectively-stripe').find('tr:odd')
  .each(function() {
    $(this).children('td')
      .eq(col_to_stripe)
      .css('background', 'pink');
  });

La classe n'est pas nécessaire car vous pouvez évidemment simplement mettre l'index de colonne souhaité comme avec l'approche CSS pure, mais c'est mieux pour la clarté du code.

démo ici : http://jsbin.com/axutal/2/edit

Autres conseils

Vérifiez ce lien

Ceci peut être fait en utilisant jQuery sans donner des noms de classe ou des identifiants.

 $('tr:odd  td:nth-child(4)').css('background','#999999'); /* For odd td's */
 $('tr:even td:nth-child(4)').css('background','#DDDDDD'); /* For even td's */  

Pour plus d'informations sur ce jQuery Selector passer par ce link

Vous aurez besoin d'un nom de classe supplémentaire et d'une déclaration CSS correspondante pour la TDS dans cette colonne.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top