Comment puis-je obtenir le dernier élément (h) du code suivant:
<div>
<div>
<span class="hr"></span>
</div>
<div>
<span class="hr"></span>
</div>
<div>
<span class="hr"></span> <!-- I need this -->
</div>
</div>
.hr:last-child
ne fonctionne pas pour cela.
Bien sûr, la structure DOM pourrait être plus compliquée. J'ai juste besoin de récupérer le dernier élément nécessaire.
Votre question n'est pas tout à fait claire; il existe plusieurs façons d'obtenir la dernière .hr
élément de votre exemple, mais vous dites que "la structure DOM pourrait être plus compliquée". Afin de répondre à votre question, vous devez mentionner quelles structures DOM possibles vous pourriez avoir; dans certains, cela pourrait être possible, dans certains, ce ne sera pas le cas.
Voici une façon d'obtenir le .hr
sur le dernier div
:
div div:last-of-type .hr
Voici une autre façon d'obtenir le .hr
sur le dernier enfant du div
extérieur:
div :last-child .hr
Si vous devez obtenir la dernière .hr
élément hors du document, peu importe ce qu'il est à l'intérieur, vous ne pouvez pas le faire en CSS. En CSS, vous ne pouvez sélectionner que le premier, le dernier ou le ne élément à un niveau particulier de la hiérarchie, vous ne pouvez pas sélectionner le dernier élément d'un type quel que soit son contenu.
div:last-child .hr
Le sélecteur suivant devrait fonctionner:
div *:last-child *:last-child