Nie*_*sol 16 css css-selectors
假设我有以下内容:
<div data-pid="">Unknown</div>
<div data-pid="123">Known 123</div>
Run Code Online (Sandbox Code Playgroud)
CSS中是否有一种方法只选择data-pid
属性非空的元素?
Ric*_*dle 26
如果你不介意略微向后做事,你需要它在不支持的浏览器中工作,这是有效的:not
:
div[data-pid] {
color: green;
}
div[data-pid=""] {
color: inherit;
}
Run Code Online (Sandbox Code Playgroud)
这将使所有div
s非空data-pid
绿色.
这里小提琴:http://jsfiddle.net/ZuSRM/
kap*_*apa 24
看起来很丑,但是这样的事情应该这样做:
[data-pid]:not([data-pid=""])
Run Code Online (Sandbox Code Playgroud)
如果您需要支持旧浏览器,您还可以使用一些Javascript添加类.
/* Normal styles */
[data-pid] {}
/* Differences */
[data-pid=""] {}
Run Code Online (Sandbox Code Playgroud)
这将具有更好的浏览器支持。无需选择所需的样式,而是为所有样式设置样式,然后将差异放在第二个选择器中。