Могу ли я выбрать элементы, которые имеют класс (любой класс) - PullRequest
0 голосов
/ 07 июня 2019

Существует ли селектор, который выбирает элементы любого класса, отличного от :not([class])?

Я использую Adobe DTM для определения правил и событий, которые будут запускать определенный запрос в Adobe Analytics.Одно из моих правил активируется каждый раз, когда пользователь щелкает элемент с атрибутом data-analytics-linkname в теге, и следующие элементы вызывают правило, например:

<a href="www.google.com" target="_self" class="btn btn-default" data-analytics-linkname="visit_Google">Visit Google</a>

<a href="www.google.com" target="_self" data-analytics-linkname="visit_Google">Visit Google</a>

Мне известно о :has() селектор псевдокласса, но он не совместим ни с одним браузером.

Только ссылка с определенным классом (btn) должна запускать класс.Однако я не очень хочу указывать класс btn в своих правилах, поскольку я хочу быть максимально гибким с ними, и я не хочу создавать его каждый раз, когда разработчики создают новый актив.

Ответы [ 2 ]

2 голосов
/ 07 июня 2019

Вы можете выбрать все элементы с определенным атрибутом, используя селектор присутствия атрибута [...].Если вы укажете a[class], все a элементы с будет выбран атрибут class.

a[class] {
  color: red;
}
<a class="btn">Button 1</a>
<a class="btn2">Button 2</a>
<a>Button 3</a>
0 голосов
/ 07 июня 2019

Ответ довольно прост, просто [class] или что-то вроде [class]:not(body).

div {
  width: 100px;
  height: 20px;
  border: solid red 2px;
}

[class]:not(body) {
  background: orange;
}
<div class='t1'></div>
<div class='t2'></div>
<button class='t3'>button 1</button>
<div></div>
<button>button 2</button>

Ваша проблема не имеет большого смысла. Если вы не хотите использовать класс btn в качестве селектора, чтобы оставаться максимально гибким, и не хотите создавать его каждый раз, когда разработчики создают новый актив, просто создайте и используйте другой класс строго для этого. цель.

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