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

Objekt mit JavaScript löschen

Engiwuk

New member
:eek: Mit innerHTML() kann ich Beliebigen Code in einen Tag schreiben. Dabei wird der gesamte vorige Inhalt überschrieben und durch den Neuen ersetzt.

:eek: Mit der Metode innerAdjacentHTML() kann ich Beliebigen Code vor, in oder nach einem Tag einbinden.
Der HTML-Code wird ergänzt und nicht überschrieben.

:) Meine Frage:
Ist es möglich einen Tag auch zu löschen?

:cool: Ich könnte einfach mit innerAdjacentHTML() ein <!-- davor und ein --> dahinter machen.

:( Doch dann schreibe ich ja nur noch mehr Code in die Seite...

Hat hier jemand eine bessere Idee?

Engiwuk
 
W3C Standard ist die Lösung

Hallo,

ich kenne nur die W3C konforme Lösung über Child nodes. Damit kannst Du Objekte hinzufügen und komplett entfernen.
Hier jedoch den Child Nodes-Baum komplett zu erklären übersteigt die Möglichkeiten.

Jedenfalls sieht der W3C-Standard solches vor, läuft aber nur in NS6 und MSIE ab 5.

Wenn Du tiefer in den Child Nodes Baum einsteigen willst, dann empfehle ich das Buch 'JavaScript' von Stephan Koch in der 3. Auflage. Liebt aber bei ca 100,- DM.

Folgendes Beispiel gibt Dir evtl eine Idee:

Code:
<html>
<head>
<title>DOM-Test</title>
<script language="JavaScript">

function init() {

	var x1 = document.getElementById("a2");
	var y1 = x1.childNodes[1].childNodes[0];
	y1.nodeValue = "Versuch";
	
	var x2 = document.getElementById("b1");
	var y2 = document.createTextNode("abc");
	x2.appendChild(y2);
	
	var x3 = document.getElementById("b1");
	var y3 = document.createElement("b");
	var z3 = document.createTextNode("xyz");
	y3.appendChild(z3);
	x3.appendChild(y3);

	var x4 = document.getElementById("b1");
	var y4 = document.createElement("img");
	y4.setAttribute("src", "dpunkt.gif");
	x4.appendChild(y4);
	
	var x5 = document.getElementById("b1");
	var y5 = document.getElementById("bd");
	y5.removeChild(x5);
	
}

</script>
</head>
<body id="bd" onload="init()">

<div id="a1">
	<div id="a2">
		Dies ist ein <i>Test</i>...
	</div>
</div>

<div id="b1">
</div>

</body>
 
Hallo!

Falls du das ganze im IE4 auch noch verwenden möchtest(funktioniert nicht im NS4) kannst du auch
Code:
outerHTML
verwenden.
 
Aha! Man lernt eben nie aus!

Von outerHTML hab ich noch nichts gelesen!
Vielen Dank!

Ein Blick zu SELFHTML klärt auf:

outerHTML
Speichert den Inhalt eines HTML-Tags plus das Anfangs- und End-Tag mit allen Angaben.


Das Löschen von Tags stelle ich mir nun folgender Maßen vor:

Beispiel:

<div id="Beispiel">Hallo Welt!</div>

Will ich nun einen Tag vollständig entfernen, so muss ich in den Script-Block schreiben:

document.all.Beispiel.outerHTML("");

So stell ich mir das zumindest vor :-/
 
Zurück
Oben