Essayer d'obtenir le premier élément visible d'une liste en utilisant les pseudo-sélecteurs :first
et :visible
de jQuery, comme suggéré ici: https://stackoverflow.com/a/830611/165673 mais cela ne fonctionne pas:
Fiddle:http://jsfiddle.net/FAY9q/4/
HTML:
<ul>
<li>Item A</li>
<li>Item B</li>
<li>Item C</li>
</ul>
<ul>
<li style="display:none;">Item A</li>
<li>Item B</li>
<li>Item C</li>
</ul>
JQUERY:
$('li:visible:first').css('background','blue');
Le premier élément de chaque liste doit devenir bleu ...
Essayez d'utiliser ceci:
$('ul').find('li:visible:first').css('background','blue');
Actuellement, votre code reçoit juste le premier élément li
visible sur la page et définit la couleur d'arrière-plan. Ce code sélectionne tous les éléments ul
puis trouve la première li
visible dans chacun d'eux et applique le style.
Ici ça marche: http://jsfiddle.net/FAY9q/5/
Qu'en est-il d'utiliser ceci:
li:visible:not(:visible ~ :visible)