Duplicate possible:
Y a-t-il un sélecteur de parent CSS?
Existe-t-il un moyen de créer un sélecteur CSS correspondant aux éléments suivants?
All OBJECT elements
which have a PARAM element inside of them
Le sélecteur
OBJECT PARAM
ne fonctionne pas, car il correspond à PARAM, pas à OBJECT. J'aimerais appliquer {display: none} aux objets; il est inutile d'appliquer cela aux PARAM.
(Je sais que je pourrais y arriver avec jQuery - $("object param").closest("object")
- et VanillaJS - document.querySelector("object param").closest("object")
- mais j'essaie de créer des règles CSS sur une page.)
Non, ce que vous recherchez serait appelé un sélecteur de parent . CSS n'en a pas; elles ont été proposées à plusieurs reprises mais je ne connais aucune norme existante ou à venir les incluant. Vous avez raison de dire que vous auriez besoin d'utiliser quelque chose comme jQuery ou d'utiliser des annotations de classe supplémentaires pour obtenir l'effet souhaité.
Voici quelques questions similaires avec des résultats similaires:
La seule chose qui se rapproche encore est la pseudo-classe :contains
en CSS3, mais elle ne sélectionne que le contenu textuel, et non les balises ou les éléments, vous n'avez donc pas de chance.
Un moyen plus simple de sélectionner un parent avec des enfants spécifiques dans jQuery peut être écrit comme suit (avec :has()
):
$('#parent:has(#child)');