Je voudrais appliquer un style différent à toutes les ancres contenant un mot spécifique. Peut-on le faire en CSS pur? C'est ok si c'est CSS3 seulement.
Non. :contains
a déjà été proposé mais ne figure pas dans la version de travail actuelle des sélecteurs CSS3.
Vous auriez besoin de JavaScript, par exemple:
for (var i= document.links.length; i-->0;)
if (/\bSpecificWord\b/i.test(document.links[i].innerHTML)
document.links[i].style.color= 'red';
Vous pouvez faire correspondre les valeurs d'attribut . Si vous utilisez des attributs de données personnalisés, ils peuvent obtenir ce que vous voulez.
oui il y a un :contains
sélecteur en CSS3.
li:contains("special"){text-style: italic;}
il est mentionné environ 1/2 en bas de cette page ici
C'est quelque chose que vous pouvez également faire avec jQuery aussi ...
@bobince aidez-moi et j'ai écrit ce code:
var x = document.getElementsByTagName('TD');
for (var i= x.length; i-->0;)
if (x[i].innerHTML=='closed')
x[i].parentNode.style.background= '#FEE';
Si le contenu de certains TD est 'fermé' alors la couleur de fond du TR sera identifiée avec une couleur rouge clair.
Utilisez le Hitch qui est une petite bibliothèque JS. Vous pouvez facilement appliquer un style basé sur le contenu à n'importe quel élément. Il a beaucoup d'options et idéal pour un style conditionnel.