CSS选择器澄清:| = vs ^ =

时间:2016-02-12 19:11:32

标签: css css3 css-selectors

According to W3Schools

[foo|='bar']“选择[foo]属性以”bar“开头的所有元素



[foo^='bar']“选择[foo]属性值以”bar“开头的每个元素

在我的应用程序中,我输入ID为“Input-123456”等

使用input[id^="Input-"]选择它们有效,而input[id|='Input-']则不返回任何内容。

那有什么区别?

2 个答案:

答案 0 :(得分:15)

来自“真实”引用(W3C):

  

E[foo^="bar"]一个E元素,其“foo”属性值恰好以字符串“bar”开头

     

E[foo|="en"]一个E元素,其“foo”属性具有以连字符分隔的值列表(从左侧开始),带有“en”

当出现不一致时,请务必遵守实际标准。我倾向于避免使用w3schools,因为他们的质量控制有时不如恒星。

答案 1 :(得分:1)

https://css-tricks.com/attribute-selectors/

参见| =部分,差异在破折号分隔列表中。