:has
La pseudo-classe :has()
permet de cibler un élément si au moins un des sélecteurs passés en paramètre correspond à l'élément (selon la portée, :scope
, de l'élément).
Cette pseudo-classe :has()
prend en paramètre une liste de sélecteurs.
Note : Pour des raisons de performances et dans la spécification actuelle, has()
n'est pas classé comme un sélecteur dynamique et peut uniquement être utilisé de façon statique (par exemple avec des fonctions comme document.querySelector()
.
js
/* Avec cette ligne de JavaScript, on récupère */
/* tous les éléments <a> qui ont un fils direct */
/* qui est un élément <img> */
/* Attention, actuellement cette fonction n'est */
/* pas prise en charge par les navigateurs et */
/* n'est pas conçue pour fonctionner dans les */
/* feuilles de style */
var test = document.querySelector("a:has(> img)");
Syntaxe
:has(liste_selecteurs) { proprietes }
Exemples
Spécifications
Specification |
---|
Selectors Level 4 # relational |
Compatibilité des navigateurs
BCD tables only load in the browser