Есть ли в CSS что-то вроде jQuery's: has ()? - PullRequest
7 голосов
/ 08 июня 2011

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

jQuery(':has(selector)')

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

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

Ответы [ 2 ]

6 голосов
/ 08 июня 2011

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

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

5 голосов
/ 08 июня 2011

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

Файл Css:

.myAwesomeClass {
    ...
}

Файл Js:

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...