是否有一个选择器来选择具有与<a href="www.website.com/de/" id="language">
<script>document.getElementById('language').setAttribute('href', '/de'+document.location.pathname);</script>
不同的任何类的元素?
我正在使用Adobe DTM定义规则和事件,这些规则和事件将触发Adobe Analytics中的特定请求。每次用户单击标记中具有:not([class])
属性的元素时,都会激活我的规则之一,例如,以下元素将触发该规则:
data-analytics-linkname
我知道:has()
伪类选择器,但是它似乎与任何浏览器都不兼容。
只有具有已定义类(<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>
)的链接才应触发该类。但是,我真的不想在规则中指定类btn
,因为我想对它们尽可能灵活,并且我不想每次开发人员创建新资产时都创建一个类。>
答案 0 :(得分:2)
您可以使用属性存在选择器[...]
选择具有特定属性的所有元素。如果指定a[class]
,则将选择所有a
属性为 的class
元素。
a[class] {
color: red;
}
<a class="btn">Button 1</a>
<a class="btn2">Button 2</a>
<a>Button 3</a>
答案 1 :(得分:0)
答案很简单,只需[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
类作为选择器来保持尽可能的灵活性,并且不想每次开发人员创建新资产时都创建一个类,则只需严格创建并使用另一个类为此目的。