zelleninhalt löschen
Zellenbastler
- javascript
ich möchte den inhalt einer zelle ändern, per javascript. habe es schon mit child nodes probiert aber da löscht er nur einen eintrag. Im explorer ersetzt er mir den inhalt derr zellen ohne probleme nur im mozilla etc. dupliziert er die einträge.
<html>
<head>
<script language="JavaScript" type="text/javascript">
function linkchange(zahl){
var num=zahl
switch (zahl){
case 1:
document.getElementById("Change").innerHTML = " ";
document.getElementById("Change").innerHTML = "<a href='www.google.de' target='_blank' id='Change'>link</a><br>"+
"<a href='www.google.de' target='_blank' id='Change'>link2</a><br>"+
"<a href='www.google.de' target='_blank' id='Change'>link3</a>";
break
case 2:
document.getElementById("Change").innerHTML = " ";
document.getElementById("Change").innerHTML = "<a href='www.topog.de' target='_blank' id='Change'>jo holla</a><br>"+
"<a href='www.hony.de' target='_blank' id='Change'>die olle</a><br>"+
"<a href='www.chewing.de' target='_blank' id='Change'>waldfee</a>";
break
}
}
</script>
</head>
<body>
<table width="350" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="70" valign="top"><a href="javascript:linkchange(1);">Klick mich!</a><br>
<a href="javascript:linkchange(2);">ne mich!</a>
</td>
<td width="70" valign="top" id="Change"> </td>
</tr>
</table>
</body>
</html>
Hi,
versuch mal diese funktion bei dir einzubauen. sollte funktionieren, habe die schon x mal ohne probleme benutzt.
Löscht alle Kind-Knoten unterhalb des Knoten mit "elementId", also in deinem Fall "Change"...
Gruß
Carsten
function deleteChilds(elementId) {
/* Version 2 by caru */
elem = document.getElementById(elementId); // the element with elementId
if (!elem) { return }
else if ( elem.hasChildNodes() ) {
while ( elem.hasChildNodes() ) {
child = elem.firstChild;
elem.removeChild(child);
}
} else { return }
}
ne funktioniert leider nicht er löscht nur einen link anstatt alle im Mozilla, wat nun? ich bin ratlos
alles zurückgenommen danke euch beiden funktioniert spitze, hatte nur vergessen was rauszunehmen!
irgendwie ist es mir unbegreiflich, ich möchte bloß den inhalt einer zelle dynamisch, und browserübergreifend austauschen. Doch nach einer Woche Recherche ist es immernoch bei innerhtml geblieben da ich ja die links auch austauschen will. Erstmal danke Carsten, werds heut abend gleich testen.
Trotzdem wäre ich sehr dankbar wenn mir einer eine browserübergreifende lösung anbieten würde.
Hi,
irgendwie ist es mir unbegreiflich, ich möchte bloß den inhalt einer zelle dynamisch, und browserübergreifend austauschen. Doch nach einer Woche Recherche ist es immernoch bei innerhtml geblieben
? Was Browserübergreifenderes als innerHTML gibt es doch gar nicht. =:-o
Falls Du direkt über DOM-Knoten gehen möchtes, ist aber auf jeden Fall zu beachten, daß Mozilla und IE das DOM-Modell unterschiedlich auslegen (Stichwort: neuer Knoten bei Zeilenumbruch).
Gruß, Cybaer
Hi,
das beruhigt mich sehr ich habe leider nicht so viele browser zum ausprobieren. Mit dem DOM-Modell kenn ich mich net aus, bzw. meine Nachforschungen haben mir keinen Durchblick verschafft. welche Browser unterstützen denn innerHTML?
noch ein kleines ob an der Seite deine Seite hat mir schon öfters mal weitergeholfen, also mal nachträglich danke :-)
Hi,
welche Browser unterstützen denn innerHTML?
*Alle* Browser, die mit dem W3C-DOM arbeiten (also die getElementById kennen). Soweit die Praxis - theoretisch könnte es aber auch Browser geben, die das W3C-DOM beherrschen, innerHTML aber nicht.
noch ein kleines ob an der Seite deine Seite hat mir schon öfters mal weitergeholfen, also mal nachträglich danke :-)
Bitte! Und dank für den Dank! :-)
BTW: 2 Variablen aus http://Coding.vampirehost.de/Systemvariable:
Spezielle Browsereigenschaften (Boolean: true oder false):
- is_w3cDOM (striktes W3C-DOM?)
- is_w3cxDOM (erweitertes W3C-DOM?)
Erstere ist wahr, wenn der Browser das W3C-DOM beherrscht, letztere ist wahr, wenn er auch das um innerHTML erweiterte W3C-DOM beherrscht. ;-)
Gruß, Cybaer
Besten Dank!
eine frage noch, weist du eine zuverlässige Funktion welche alle erzeugten links löschen wenn ich ein anderes case abrufe?