2013-05-07 107 views

回答

20

这工作,如果你不介意做的事情略有倒退,你需要在浏览器中的工作不支持:not

div[data-pid] { 
    color: green; 
} 

div[data-pid=""] { 
    color: inherit; 
} 

这将让所有的div s的非空data-pid s绿色。

小提琴这里:http://jsfiddle.net/ZuSRM/

+1

中看不到任何内容接受此答案,因为比alex快了6秒。尽管我不知道'inherit'是否是浏览器支持的最佳选择:p – 2013-05-07 22:22:27

17

相貌丑陋,但这样的事情应该这样做:

[data-pid]:not([data-pid=""]) 

jsFiddle Demo

随着一点点的Javascript,你也可以添加类,如果你需要支持旧的浏览器。

+0

不够公平。所以没有单一的属性选择器? – 2013-05-07 22:05:45

+0

@Kolink我在http://www.w3.org/TR/css3-selectors/#attribute-selectors – kapa 2013-05-07 22:07:48

4
/* Normal styles */ 
[data-pid] {} 

/* Differences */ 
[data-pid=""] {} 

jsFiddle

这将有更好的浏览器支持。而不是选择你想要的,把它们全部样式化,然后把差异放在第二个选择器中。

相关问题