Ich möchte einen anderen Stil auf alle Anker anwenden, die ein bestimmtes Wort enthalten. Kann es in reinem CSS gemacht werden? Es ist in Ordnung, wenn es nur CSS3 ist.CSS-Regel basierend auf Inhalt
Antwort
Nr :contains
wurde einmal vorgeschlagen, ist aber in dem aktuellen Arbeitsentwurf von CSS3 Selectors nicht .
Sie würden einige JavaScript benötigen, zum Beispiel:
for (var i= document.links.length; i-->0;)
if (/\bSpecificWord\b/i.test(document.links[i].innerHTML)
document.links[i].style.color= 'red';
ja, es ist ein :contains
Wähler in CSS3.
li:contains("special"){text-style: italic;}
es etwa 1/2 unten auf dieser Seite erwähnt wird here
Diese something you can also do with jQuery Auch das ist ...
Interessant, aber nur für statische Medien "Diese Auswahl gilt nur für statische Medien (d. H. Druck und keine Bildschirmanzeige)." – Joel
ah ja, ich habe diese Nuance nicht verstanden ... ich kann verstehen, warum es Sinn macht (vielleicht). Danke für die Entdeckung, dass –
Der ': enthält' Selektor hat es nicht in die späteren Spezifikationen gemacht. – idmean
Sie können match attribute values though. Wenn Sie benutzerdefinierte Datenattribute verwenden, erhalten Sie möglicherweise, was Sie wollen.
Diese Antwort funktioniert gut in Chrom. 'td [Datenträger =" Verizon "] {color: # F00; } 'Ergebnisse in' td' Zellen mit dem Attribut 'data-carrier' vom Wert' Verizon', das ihnen die Farbe von 'Rot' gibt. –
Verwenden Sie die Hitch, die eine winzige JS-Bibliothek ist. Sie können auf einfache Weise einen Content-basierten Stil auf jedes Element anwenden. Es hat viele Optionen und eignet sich hervorragend für bedingtes Styling.
@bobince mir helfen und ich schrieb diesen Code:
var x = document.getElementsByTagName('TD');
for (var i= x.length; i-->0;)
if (x[i].innerHTML=='closed')
x[i].parentNode.style.background= '#FEE';
Wenn der Inhalt einiger TD ist die Farbe des TR dann der Hintergrund ‚ geschlossen‘ wird mit hellrote Farbe identifiziert werden.
Ich denke nicht, dass der Zugriff auf eine NodeList über Bracket-Notation Standard ist. – Carcigenicate
Ich hoffe wirklich, dass sie dieses Problem inzwischen behoben haben. Es ist offensichtlich, dass es ein sehr häufiges Problem ist, ein Element durch die Wörter in seinem Inhalt zu gestalten. –