可以使用CSS选择器(例如a[href^="http:"], a[href^="mailto:"]
)来匹配文档中的所有外部和邮件链接,但有没有办法在选择器的引号部分中使用“或”语句,如下所示:{ {1}}?
答案 0 :(得分:5)
据我所知,没有办法做你所要求的。在CSS选择器规范中,管道字符用于与属性选择器一起使用时的不同内容。它用作命名空间分隔符。
根据W3C上的选择器规范:
属性选择器中的属性名称以CSS的形式给出 限定名称:先前已声明的名称空间前缀 可以添加到由命名空间分隔的属性名称之前 分隔符“竖线”(|)。与命名空间保持一致 XML推荐,默认命名空间不适用于属性, 因此,仅适用于没有命名空间组件的属性选择器 没有命名空间的属性(相当于“| attr”;这些 属性被称为“每元素类型命名空间” 分区“)。星号可以用于命名空间前缀 指示选择器是否匹配所有属性名称 关于属性的命名空间。
CSS examples:
@namespace foo "http://www.example.com";
[foo|att=val] { color: blue }
[*|att] { color: yellow }
[|att] { color: green }
[att] { color: green }
第一条规则只匹配具有属性att的元素 “http://www.example.com”名称空间,值为“val”。
第二条规则仅匹配具有属性att的元素 无论属性的名称空间(包括没有名称空间)。
最后两个规则是等效的,只匹配元素 属性att,其中属性不在命名空间中。
答案 1 :(得分:0)
我正在检查CSS Selectors语法,但似乎唯一的方法是使用逗号分隔符:
selectors_group
: selector [ COMMA S* selector ]*
此外,这些是一些相关的词汇规则:
{w}"+" return PLUS;
{w}">" return GREATER;
{w}"," return COMMA;
{w}"~" return TILDE;
没有 AND 或 OR 规则,但有一点我注意到他们有否定:
"{N}{O}{T}"(" return NOT;)