У CSS есть что-то вроде jQuery: has()?

В CSS (любая версия) есть ли что-то вроде или любой другой способ сделать что-либо вроде селектора :has() в jQuery?

jQuery(':has(selector)')

Описание: Выбирает элементы, которые содержат по крайней мере один элемент, который соответствует указанному селектору.

http://api.jquery.com/has-selector/

Ответы

Ответ 1

Нет, нет. Способ CSS разработан, не позволяет селекторам, которые соответствуют предкам или предшествующим братьям и сестрам; только потомки ( и >), последующие братья и сестры (~ и +) или конкретные дети (:*-child). Единственный селектор предков - это псевдо-класс :root, который выбирает корневой элемент документа (на страницах HTML, естественно, это будет html).

Если вам нужно применить стили к элементу, который вы запрашиваете с помощью :has(), вам нужно добавить к нему класс CSS, а затем стиль этим классом как было предложено Stargazer712.

Ответ 2

Нет. Лучший способ добиться этого - использовать jQuery:

Файл Css:

.myAwesomeClass {
    ...
}

Файл Js:

jQuery(':has(selector)').addClass("myAwesomeClass")

где selector - это то, что вы изначально пытались сопоставить.