Document.getElementById -> Schriftfarbe ändern
David
- css
0 Thomas Meinike0 David
0 Gandalf0 Utz0 Thomas Meinike
hallo
ich habe folgendes skript:
----------------
<html><head><title>Test</title>
<script language="JavaScript">
var xy = "";
function setCSS(n)
{
alert(n);
if (xy != "")
{
document.getElementById("_" + xy).style.backgroundColor = "white";
}
document.getElementById("_" + n).style.backgroundColor = "blue";
document.getElementById("_" + n).style.Color = "yellow";
xy = n
}
</script>
</head><body>
<a href="javascript:setCSS('10074');">Färben Testperson1</a><br><br>
<a href="javascript:setCSS('10050');">Färben Testperson2</a><br><br>
<a id="_10074" href="#">Testperson1</a><br>
<a id="_10050" href="#">Testperson2</a>
</body></html>
--------------------
ich möchte, dass wenn ich auf den link "Färben Testperson2" die Schriftfarbe wechselt. was mache ich falsch ? gibt es die eigenschaft "color" nicht ?
danke
david
Hallo,
document.getElementById("_" + xy).style.backgroundColor = "white";
...
<a id="_10074" href="#">Testperson1</a><br>
Schrieb ich Dir nicht gestern, dass IDs mit einem Buchstaben beginnen muessen?
Ansonsten sollte IMHO die Zeile
xy = n;
am Anfang der Funktion stehen, um eine Wirkung zu erzielen.
MfG, Thomas
es muss nicht unbedingt ein buchstabe sein, es funktioniert auch mit dem "_".
Mfg, david
Hallo,
document.getElementById("_" + xy).style.backgroundColor = "white";
...
<a id="_10074" href="#">Testperson1</a><br>
Schrieb ich Dir nicht gestern, dass IDs mit einem Buchstaben beginnen muessen?
Ansonsten sollte IMHO die Zeile
xy = n;
am Anfang der Funktion stehen, um eine Wirkung zu erzielen.
MfG, Thomas
Hallo,
es muss nicht unbedingt ein buchstabe sein, es funktioniert auch mit dem "_".
Funktioniert ist meistens != richtig, aber hier liegt vielleicht eine Grauzone vor:
Der Unterstrich wird in CLASSes und IDs mittlerweile als gueltig bezeichnet http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html:
"In CSS2, identifiers [...] contain only the characters [A-Za-z0-9] and ISO 10646 characters 161 and higher, plus the hyphen (-) and the underscore (_)"
Danach sollte es lt. http://www.w3.org/TR/REC-CSS2/syndata.html weiter gehen mit:
"; they cannot start with a hyphen or a digit."
Explizit ist da nun nicht herauszulesen, ob der Unterstrich am Anfang stehen darf oder nicht und insofern kann das als erlaubt gewertet werden. Im Zweifelsfalle wuerde ich das dennoch nicht praktizieren, weil Browser das noch nicht unbedingt implementiert haben, wobei Variablennamen z. B. in ECMAScript (_x) oder PHP ($_x) durchaus mit "_" beginnen duerfen.
MfG, Thomas
Dein Script functioniert bei mir! Aber vielleicht kannst du folgendes versuchen:
<div id="_10074">Testperson1</div><br>
<div id="_10050">Testperson2</div>
Hi David,
gibt es die eigenschaft "color" nicht ?
Doch, die gibt es. "Color" allerdings, die Du zu verwenden versuchst, gibt es nicht. Merke: JavaScript ist case-sensitiv.
Grüße,
Utz
Nachtrag:
ich möchte, dass wenn ich auf den link "Färben Testperson2" die Schriftfarbe wechselt. was mache ich falsch ? gibt es die eigenschaft "color" nicht ?
Das mit der Zeile xy = n; am Ende ist schon ok, aber es muss color statt Color lauten und wie gesagt keine Unterstriche am Anfang verwenden, auch wenn der IE das mitmacht.
MfG, Thomas