Suppose I have the following:
<div data-pid="">Unknown</div>
<div data-pid="123">Known 123</div>
Is there a way in CSS to select only elements where the data-pid
attribute is non-empty?
This works, if you don't mind doing things slightly backwards and you need it to work in browsers that don't support :not
:
div[data-pid] {
color: green;
}
div[data-pid=""] {
color: inherit;
}
That will make all the div
s with non-empty data-pid
s green.
Fiddle here: http://jsfiddle.net/ZuSRM/
Looks ugly, but something like this should do it:
[data-pid]:not([data-pid=""])
jsFiddle Demo
With a little Javascript you could also add classes, if you need to support older browsers.
/* Normal styles */
[data-pid] {}
/* Differences */
[data-pid=""] {}
jsFiddle.
This will have much better browser support. Instead of selecting the ones you want, style all of them and then place the differences in the second selector.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With