假设我有以下几点:
<div data-pid="">Unknown</div>
<div data-pid="123">Known 123</div>
是否有CSS的方式只选择元素,其中的data-pid
属性非空?
假设我有以下几点:
<div data-pid="">Unknown</div>
<div data-pid="123">Known 123</div>
是否有CSS的方式只选择元素,其中的data-pid
属性非空?
这工作,如果你不介意做的事情略有倒退,你需要它不支持浏览器的工作:not
:
div[data-pid] {
color: green;
}
div[data-pid=""] {
color: inherit;
}
这将让所有的div
s的非空data-pid
的绿色。
小提琴这里: http://jsfiddle.net/ZuSRM/
相貌丑陋,但这样的事情应该这样做:
[data-pid]:not([data-pid=""])
的jsfiddle演示
随着一点点的Javascript,你也可以添加类,如果你需要支持旧的浏览器。
/* Normal styles */
[data-pid] {}
/* Differences */
[data-pid=""] {}
的jsfiddle 。
这将有更好的浏览器支持。 相反,选择您喜欢的类型,款式所有的人,然后将在第二选择的差异。