Select elements where attribute is non-empty

前端 未结 3 547
猫巷女王i
猫巷女王i 2020-12-17 09:14

Suppose I have the following:

Unknown
Known 123

Is there a way

相关标签:
3条回答
  • 2020-12-17 09:47

    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 divs with non-empty data-pids green.

    Fiddle here: http://jsfiddle.net/ZuSRM/

    0 讨论(0)
  • 2020-12-17 09:56
    /* 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.

    0 讨论(0)
  • 2020-12-17 10:06

    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.

    0 讨论(0)
提交回复
热议问题