2009-11-22 19 views

Antwort

27

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'; 
+0

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. –

5

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 ...

+4

Interessant, aber nur für statische Medien "Diese Auswahl gilt nur für statische Medien (d. H. Druck und keine Bildschirmanzeige)." – Joel

+1

ah ja, ich habe diese Nuance nicht verstanden ... ich kann verstehen, warum es Sinn macht (vielleicht). Danke für die Entdeckung, dass –

+1

Der ': enthält' Selektor hat es nicht in die späteren Spezifikationen gemacht. – idmean

14

Sie können match attribute values though. Wenn Sie benutzerdefinierte Datenattribute verwenden, erhalten Sie möglicherweise, was Sie wollen.

+1

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. –

1

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.

0

@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.

+0

Ich denke nicht, dass der Zugriff auf eine NodeList über Bracket-Notation Standard ist. – Carcigenicate

Verwandte Themen