div mit Javascript direct unter document
urmel273
- javascript
Ich habe folgende Struktur auf meiner html Seite:
<body>
<div id="bilder">...</div>
...
</body>
Nun füge ich mit JS für mein Browsergame unter Bilder ca. 60 Images unter Bilder ein, mit denen ich verschiedenes mache. Für den nächsten Level möchte ich sämtliche Bilder unter der der id Bilder löschen, was ich mit
var idNr = document.getElementById("bilder");
idNr.parentNode.removeChild(idNr);
mache. Hiermit wird auch alles perfekt gelöscht.
Mein Problem ist: Für den nächsten Level benötige ich jetzt den div-Tag "bilder" wieder. Nur habe ich es mit JS bisher nicht geschafft, direkt unter document ein div zu erzeugen. Ich brauche also: document.bilder
Mahlzeit,
Für den nächsten Level möchte ich sämtliche Bilder unter der der id Bilder löschen, was ich mit
Ohne auf den Rest einzugehen, eine ID muss im Dokument eindeutig sein, darf also nur einmal vorkommen.
Ändere deinen Code entsprechend, und wenn dann noch Probleme auftreten, sehen wir weiter :)
Mahlzeit,
Oder meintest du, im Div sind die img-Tags? Dann passt das natürlich
Mein Problem ist: Für den nächsten Level benötige ich jetzt den div-Tag "bilder" wieder. Nur habe ich es mit JS bisher nicht geschafft, direkt unter document ein div zu erzeugen. Ich brauche also: document.bilder
Wie versucht du den den Node anzulegen?
Moin
Mein Problem ist: Für den nächsten Level benötige ich jetzt den div-Tag "bilder" wieder. Nur habe ich es mit JS bisher nicht geschafft, direkt unter document ein div zu erzeugen. Ich brauche also: document.bilder
Du musst das Div erst in dem DOM erstellen (create) und dann an den Body anfügen
g = document.createElement('div');
g.setAttribute("id", "bilder");
document.getElementsByTagName("body")[0].appendChild(g);
ungetestet. Sollte aber funktionieren. Der DOM Baum represäntiert die Struktur deines HTML-Dikumentes. Da muss erst ein neuer Elementknoten mit neuem Attribut knoten erstellt werden und dann ans Body angefügt werden. DOM soillte das Stichwort für weitere Informationen sein.
Gruß Bobby
Du musst das Div erst in dem DOM erstellen (create) und dann an den Body anfügen
g = document.createElement('div');
g.setAttribute("id", "bilder");
document.getElementsByTagName("body")[0].appendChild(g);
>
> ungetestet. Sollte aber funktionieren. Der DOM Baum represäntiert die Struktur deines HTML-Dikumentes. Da muss erst ein neuer Elementknoten mit neuem Attribut knoten erstellt werden und dann ans Body angefügt werden. DOM soillte das Stichwort für weitere Informationen sein.
>
> Gruß Bobby
>
Super, hat geklappt. Ich hatte bei meinen vielen Versuchen vorher teilweise dasselbe, nur bin ich einfach nicht auf .getElementsByTagName("body")[0] gekommen ich hab hier entweder nur .body genommen.
An allen anderen Stellen beim Einfügen in den DOM hab ich immer erst denn Knoten erstellt und dann ins DOM angehängt, nur hab ich hier den verkehrten Anknüpfpunkt gewählt.
Hallo,
Super, hat geklappt. Ich hatte bei meinen vielen Versuchen vorher teilweise dasselbe, nur bin ich einfach nicht auf .getElementsByTagName("body")[0] gekommen ich hab hier entweder nur .body genommen.
document.body ist übrigens dasselbe wie document.getElementsByTagName("body")[0]. Beides liefert den bosy-Elementknoten. Ersteres ist kürzer und schneller.
Mathias
Hallo,
Nun füge ich mit JS für mein Browsergame unter Bilder ca. 60 Images unter Bilder ein, mit denen ich verschiedenes mache. Für den nächsten Level möchte ich sämtliche Bilder unter der der id Bilder löschen
Dann leere das Element doch einfach mit:
var bilder = document.getElementById("bilder");
bilder.innerHTML = '';
Dann sind alle Elemente weg. (Es geht auch anders, aber so geht’s auch.)
Mathias