网页中有两种类型的链接。一种类型的链接包含class和itemprop,其中只包含其中的类。在下面的链接中,第一个是class和itemprop,第二个是class。但是,如果我希望我的选择器不在其中选择带有“itemprop”的链接,那么该选择器将如何显示?
<a href="/los-angeles-ca/mip/crispy-crust-hollywood-location-443529?lid=1000226108758" itemprop="name" class="business-name"></a>
<a href="/los-angeles-ca/mip/casa-bianca-pizza-pie-13519?lid=1000203432051" data-analytics="{"target":"name","feature_click":""}" rel="" class="business-name" data-impressed="1"></a>
我尝试了下面的一个,但它选择了所有:
a.business-name
当我尝试使用它时,它只选择包含两个项目的链接:
a[itemprop="name"].business-name
当我尝试使用它只获取其中的类时,它不起作用:
a[not(itemprop="name")].business-name
答案 0 :(得分:1)
我认为需要进行一些语法更改。 这可以完成这项工作
a.business-name:not([itemprop="name"])
答案 1 :(得分:1)
传统的解决方案是使用特异性和级联:
具体而言,您可以声明
的样式a.business-name[itemprop]
与
的样式相同a
在级联中,您可以为
声明不同的样式a.business-name
由于最后一个选择器不太具体,因此它不会覆盖级联上方更具体的选择器。
a {
display: block;
line-height: 32px;
font-size: 16px;
}
a, a.business-name[itemprop] {
color: red;
font-weight: normal;
}
a.business-name {
color: green;
font-weight: bold;
}
&#13;
<a href="#">Random Normal Link</a>
<a href="/los-angeles-ca/mip/crispy-crust-hollywood-location-443529?lid=1000226108758" itemprop="name" class="business-name">Link with itemprop</a>
<a href="/los-angeles-ca/mip/casa-bianca-pizza-pie-13519?lid=1000203432051" data-analytics="{"target":"name","feature_click":""}" rel="" class="business-name" data-impressed="1">Link without itemprop</a>
&#13;