带括号的选择器匹配什么? :没有(A)[routerLink]

时间:2016-12-26 14:26:49

标签: css css3 angular css-selectors

这是一个用于匹配routerLink指令的选择器。

我知道:not(a)匹配任何不是a元素的元素,但[routerLink]部分是什么意思?

1 个答案:

答案 0 :(得分:2)

在您的代码中 - :not(a)[routerLink] - 您说:选择包含routerLink属性的所有元素(锚点除外)。

括号([])表示属性选择器。

<div class="somevalue">

你可以像这样定位上面的元素:

[class] { background-color: red; }

它匹配具有class属性的所有元素。

有关详细信息,请查看此表: https://www.w3.org/TR/css3-selectors/#selectors

感谢@BoltClock区分两个外观相似但不同的选择器:

  • :not(a)[routerLink])永远不会匹配a元素

  • :not(a[routerLink])将匹配没有该属性的a个元素。 (请注意,:not()伪类中的复合选择器从选择器4开始可用。)