CSS选择器中的OR语句
可以使用CSS选择器,例如CSS选择器中的OR语句,css,css-selectors,Css,Css Selectors,可以使用CSS选择器,例如a[href^=“http:”],a[href^=“mailto:”来匹配文档中的所有外部链接和邮件链接,但是有没有一种方法可以在选择器的引号部分使用“或”语句,就像这样:a[href^=“(http | mailto):”]?据我所知,没有办法按你的要求去做。在CSS选择器规范中,管道字符与属性选择器一起使用时用于不同的用途。它用作名称空间分隔符 根据W3C上的选择器规范: 属性选择器中的属性名称以CSS形式给出 限定名称:以前声明的命名空间前缀 可以在由命名空间分隔
a[href^=“http:”],a[href^=“mailto:”
来匹配文档中的所有外部链接和邮件链接,但是有没有一种方法可以在选择器的引号部分使用“或”语句,就像这样:a[href^=“(http | mailto):”]
?据我所知,没有办法按你的要求去做。在CSS选择器规范中,管道字符与属性选择器一起使用时用于不同的用途。它用作名称空间分隔符
根据W3C上的选择器规范:
属性选择器中的属性名称以CSS形式给出
限定名称:以前声明的命名空间前缀
可以在由命名空间分隔的属性名称前面加前缀
分隔符“垂直条”(|)。与中的名称空间保持一致
XML建议,默认名称空间不适用于属性,
因此,不带名称空间组件的属性选择器仅适用
对于没有名称空间的属性(相当于“|attr”;这些
属性被称为在“每元素类型”命名空间中
分区”)。星号可用于名称空间前缀
指示选择器将匹配所有属性名称,而不使用
关于属性的名称空间
第一条规则将只匹配属性为att的元素
“”命名空间,其值为“val”
第二条规则将只匹配属性为att的元素
不考虑属性的名称空间(不包括名称空间)
最后两个规则是等效的,只匹配具有
属性att,其中该属性不在命名空间中
来源:我正在检查CSS选择器语法,但似乎唯一的方法是使用逗号分隔符:
selectors_group
: selector [ COMMA S* selector ]*
此外,还有一些相关的词汇规则:
{w}"+" return PLUS;
{w}">" return GREATER;
{w}"," return COMMA;
{w}"~" return TILDE;
没有和规则,也没有或规则,但我注意到的一点是它们有否定:
"{N}{O}{T}"(" return NOT;)
你提到的第一个选择器会做你想做的事…@Sevensacat:这不是他说的吗?符号是组合符(除了
,
)。这个否定仅仅指的是:not()
伪类,所以它没有什么特殊之处。@BoltClock:我知道它没有什么特殊之处,我只是提到了我在css选择器规范中找到的一些东西(与我相关)。我应该删除我的答案吗?还有,一种属性选择器,按属性与val
或前缀为val-
的值完全匹配,但与命名空间前缀一样,它不提供所要求的功能。
"{N}{O}{T}"(" return NOT;)