2016-05-22 3 views
0

Ich bin weit weg von meiner Tiefe mit einem Grainemonkey-Skript. Ich habe es mit einer HTML-Tabelle zu tun, in der die zweite Spalte Monatsdaten enthält, z. "April" oder "Mai". Hier ist eine vereinfachte Version des HTML Ich bin den Umgang mit:Verwenden Sie Greasemonkey, um HTML-Tabellenzellenformat basierend auf seinem Inhalt zu ändern

<html> 
    <body> 
     <form> 
      <table class="gridtable"> 
       <tbody> 
        <tr class="header"></tr> 
        <tr> 
         <td>blah</td> 
         <td>April</td> 
         <td>blah</td> 
        </tr> 
        <tr> 
         <td>blah</td> 
         <td>May</td> 
         <td>blah</td> 
        </tr> 
       </tbody> 
      </table> 
     </form> 
    </body> 
</html> 

Für alle Zeilen, in denen die zweite Spalte/TD enthält ‚Mai‘, möchte ich Greasemonkey verwenden, um die Formatierung der Zelle zu ändern, zum Beispiel zu fettem rotem Text, mit einem gelben Hintergrund. Hier ist der Code, den ich bisher habe, aber es wird keine Wirkung, und ich bin nicht sicher, ob es ein guter Ausgangspunkt (ich habe nur enthalten Hintergrundfarbe für jetzt, zu Fuß vor Laufe):

var thetds = document.getElementsByTagName('td'); 
for (var j = 0; j < thetds.length; j++) { 
if (thetds[j].innerHTML == "May") 
    thetds[j].style.backgroundColor = rgb(250, 220, 0); 
} 

effektiv möchte ich die td von einzuschalten:

<td>May</td> 

zu:

<td style="background-color: rgb(250, 220, 0); color: rgb(255, 0, 0); font-weight: bold;">May</td> 

Jede Beratung sehr geschätzt! Vielen Dank. PS Ich habe this ähnliche Frage gefunden, aber ich kann es nicht zu meiner Situation biegen, es ist ganz anders.

Antwort

1

rgb(250, 220, 0) sollte "rgb(250, 220, 0)"

thetds[j].style.backgroundColor = "rgb(250, 220, 0)"; 

example

+0

Ah danke für das Update, und für die Demo, froh zu sehen, ich war näher, als ich dachte, obwohl ... dies noch nicht der Fall ist Arbeiten über Greasemonkey ... Bit verloren. – David

+0

@David ich getestet und es funktioniert.Hier ist Beispiel Graemonkey Skript http://pastebin.com/7bvvYwXJ. installieren Sie es und besuchen Sie diese Seite https://fiddle.jshell.net/wsqq7wfz/3/show/light/ –

+0

Wahrscheinlich funktioniert nicht auf OP-Seite aus mehreren Gründen: (1) AJAX, (2) Leerzeichen ('.innerHTML == 'ist fast immer brüchig auf realen Seiten), (3) OPs Tabellenzellen-Suche kann möglicherweise zu falsch positiven Ergebnissen führen - sobald die anderen Probleme sortiert sind (Nicht gegen Struktur prüfen). –

Verwandte Themen