Hallö ins Forum,
und ein gesundes neues (Rest-)Jahr!
Ich verzweifle gerade am removeAttributeNode(): Ich weise in einem Eingabefeld beim Eintreten eine CSS-Klasse zu, das funktioniert auch hübsch.
Beim Verlassen soll die das Attribut 'class' wieder wieder gelöscht werden. Das können nur meine Geckos. M$IE und Opera verweigern den Dienst ohne irgendwelche Fehlermeldungen :-(
Ich hab hier den Code aufs Wesentliche gekürzt:
<html>
<head>
<style type="text/css">
<!--
.new { background:green; color:white; border:solid yellow thin; }
//-->
</style>
<script type="text/javascript">
<!--
function add_class(name) {
var css_class = document.createAttribute("class");
css_class.nodeValue = "new";
name.setAttributeNode(css_class);
}
function rem_class(name) {
name.removeAttributeNode(name.getAttributeNode("class")); // das funxt net :-(
}
//-->
</script>
</head>
<body>
<form>
<input id="eins" value="blabla" onfocus="add_class(this);" onBlur="rem_class(this);">
<input value="lalala" onfocus="add_class(this);" onBlur="rem_class(this);">
</form>
</body>
</html>
Wenn ich die JS-Funktion auf andere Elemente anwende, bekomme ich das gleiche Verhalten der Browser (FF, NS tun es - OP, IE nicht), ebenso wenn ich die Notierung wie hier angegeben verwende.
Kann mir jemand auf die Sprünge helfen, wo mein Fehler liegt?
Danke für Unterstützung und
Grüße aus Leipzig
willie