• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Div-Elements löschen mit getElementsByClassName

yss

Mitglied
Hey Leute,
ich habe einen kleine Tabbar auf meiner Seite, wenn man auf einen Tab klickt, soll dieser gelöscht werden, denn die Informationen des Tabs werden dann woanders angezeigt. Hab mir auch den Beitrag auf selfhtml angeschaut (SELFHTML Forumsarchiv / 2007 / Februar / DIV Tag löschen), aber so richtig schlau bin ich daraus nicht geworden. Das Problem ist, dass ich den Tab nicht mit der id, sondern mit der class hole, aber das klappt nicht.
HTML:
var tabs = document.getElementsByClassName('filetab');
			for (var i = 0; i < tabs.length; i++){
				if(file == tabs[i].innerHTML){
                                //Der Tab soll gelöscht werden
					var knoten = document.getElementsByClassName('filetab')[i];
					document.getElementsByClassName('filetab')[i].removeChild(knoten);
				}
			}
Errormeldung: NOT_FOUND_ERR: DOM Exception 8: An attempt was made to reference a Node in a context where it does not exist.
 
Du versuchst den Knoten mit dem Knoten zu löschen, du musst removeChild vom parent aufrufen (steht auch in dem Thread)

Der Code ist auch reichlich umständlich
Code:
var tabs = document.getElementsByClassName('filetab');
	for (var i = 0; i < tabs.length; i++){
			if(file == tabs[i].innerHTML){
                               //Der Tab soll gelöscht werden
				tabs[i].parentNode.removeChild(tabs[i]);
                                break; // da ansonsten die Schleife vermutlich einen Fehler wirft
				}
			}
 
Sorry, mein Fehler, hatte anstatt id noch innerHTML stehen :D Dann kann die if-Bedingung auch nicht wahr werden xD Jetzt funktioniert es perfekt, danke ;-)
 
Zurück
Oben