• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Textfarbe von <col> je nach numerischem Wert ändern

sojutyp

New member
Hallo,
ich habe ca. eine Tabelle wie diese hier:
text11kg
text2-1kg
text3100kg
In dieser Tabelle möchte ich die Textfarben der 2. <col> (also die Zahlen 1kg, -1kg, 100kg auf ihren numerischen Wert prüfen und danach entweder grün oder rot färben. if > 0 -> grün
if < 0 -> rot.
Ich habe bisher diesen code verwendet, der sämtliche <td> durchläuft und dann färbt.
Code:
var tds = document.getElementsByTagName("td");

for(var i = 0, j = tds.length; i < j; ++i)
   tds[i].style.color = "#00AA00";

Um die > oder < 0 Prüfung einzufügen, habe ich es damit versucht:

Code:
	var tds = document.getElementsByTagName("td");
	var converted = parseInt(tds);
for(var i = 0, j = tds.length; i < j; ++i)
   if(converted > 0){
	   tds[i].style.color = "#FFFFFF";
   }

jedoch ohne Erfolg. Ich bin alles andere als ein Experte, deshalb würde ich mich über Hilfe sehr freuen. Ich hoffe, ich habe alles genügeng erklärt :)
Danke!
 
tds ist eine liste von td-elementen, die kann man nicht in eine zahl konvertieren. du musst den inhalt der einzelnen td-elemente in eine zahl umwandeln
 
Ich würde das ja nicht in eine Zahl umwandeln, sondern einfach testen, ob im .innerHTML am Anfang ein "-" steht:
Code:
var tds = document.getElementsByTagName("td");
for(var i = 0, j = tds.length; i < j; ++i)
	if (/^\s*-/.test(td.innerHTML)){
		tds[i].style.color = "#FFFFFF";
	}
}
 
Zurück
Oben