Voglio scegliere come target elementi div in cui l'attributo "foo" ha un valore.
<div foo="x">XXX</div>
<div foo="">YYY</div>
Ho provato questo css, ma non funziona:
[foo!='']
{
background: red;
}
Voglio scegliere come target elementi div in cui l'attributo "foo" ha un valore.
<div foo="x">XXX</div>
<div foo="">YYY</div>
Ho provato questo css, ma non funziona:
[foo!='']
{
background: red;
}
Risposte:
:not([foo=''])
{
background: red;
}
Un problema con la risposta accettata è che selezionerà anche elementi che non hanno alcun fooattributo. Tener conto di:
<div>No foo</div>
<div foo="">Empty foo</div>
<div foo="x">XXX</div>
<div foo="y">YYY</div>
<div foo="z">ZZZ</div>
div:not([foo=''])selezionerà sia il primo che il secondo divelemento. Se vuoi solo divelementi che hanno un attributo foo impostato su una stringa vuota, dovresti usare:
div[foo]:not([foo=''])
Se vuoi tutti gli elementi con attributo fooche non è né yné z, dovresti usare:
div[foo]:not([foo='y']):not([foo='z'])