J'ai le script suivant. En ce moment, il sélectionne le 3ème élément de ma liste et ne lui donne aucune marge. Le problème est-ce que cela ne l'est qu'une seule fois, est-ce que je peux faire en sorte que cela se produise à chaque 3ème élément de la liste? J'ai essayé d'utiliser .each
mais je ne pouvais pas le faire fonctionner avec succès.
<script> $(document).ready(function() { $("#contentlist li:eq(2)").css({marginRight: '0'}); }); </script>
La pseudo-classe du nth-child
utilisant 3n
peut le faire.
$( '#contentlist li:nth-child(3n)' ).css({marginRight: '0'});
Demo: http://jsfiddle.net/ThinkingStiff/gjvpR/
HTML:
<ul id="contentlist"> <li>1</li> <li>2</li> <li>3</li> <li>1</li> <li>2</li> <li>3</li> </ul>
Scénario:
$( '#contentlist li:nth-child(3n)' ).css( {marginLeft: '20px'} );
Sortie:
Utilisez le sélecteur CSS nth-child
:
$("#contentlist li:nth-child(3n)").css({marginRight: '0'});
Demo (avec des couleurs plutôt que des marges): http://jsfiddle.net/ambiguous/DRCLF/