Css 带括号的选择器与什么匹配非(a)[路由链接]
这是一个选择器,用于匹配Css 带括号的选择器与什么匹配非(a)[路由链接],css,angular,css-selectors,Css,Angular,Css Selectors,这是一个选择器,用于匹配routerLink指令 我知道:not(a)匹配任何不是a元素的元素,但是[routerLink]部分的意思是什么?在代码中--:not(a)[routerLink]--您的意思是:选择所有包含routerLink属性的元素,除了锚之外 括号([])表示属性选择器 <div class="somevalue"> 它使用类属性匹配所有元素 有关更多详细信息,请查看此表: 感谢@BoltClock区分两个看起来相似但不同的选择器: :not(a)[rou
routerLink
指令
我知道:not(a)
匹配任何不是a
元素的元素,但是[routerLink]
部分的意思是什么?在代码中--:not(a)[routerLink]
--您的意思是:选择所有包含routerLink
属性的元素,除了锚之外
括号([]
)表示属性选择器
<div class="somevalue">
它使用类
属性匹配所有元素
有关更多详细信息,请查看此表:
感谢@BoltClock区分两个看起来相似但不同的选择器:
永远不会匹配:not(a)[routerLink])
元素a
将匹配不具有该属性的:not(一个[routerLink])
元素。(请注意,a
伪类中的复合选择器在选择器4中可用。):not()
:not(a)[routerLink]
vs:not(a[routerLink])
?@Michael\u B:No.:not(a)[routerLink])
将永远不会匹配a
元素,:not(a[routerLink])
将匹配(在选择器-4配置文件中)没有该属性的a
元素。如果询问者声明:not(a)[routerLink]
与特定的a
元素匹配,那么就有问题了。因此,在我的示例中,:not(a)[routerLink]
与存在routerElement
的任何元素匹配(元素除外)。这是有道理的,但是为什么当我把routerLink
指令放在上时,一个元素指令仍然有效(意味着角度与之匹配):而不是(a)[routerLink]
是一个实际的选择器,用于感谢你,好先生!我想这与Angular在内部的工作方式有关。如果像[routerLink]=“/somePath”
那样插入routerLink值,当属性包装在[]
中时,如何选择属性?似乎不起作用。我想你需要使用ng reflect router link
而不是routerLink,这样看起来::不是(a)[ng reflect router link]
[class] { background-color: red; }