Javascript DOM

Für allgemeine Fragen zur Programmierung, welche nicht! direkt mit Lazarus zu tun haben.
Antworten
Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Javascript DOM

Beitrag von theo »

Ich weiss, das ich off-topic bin, aber da es hier ja so viele Talente gibt.... ;-)

Ich mache was mit JavaScript DOM und hätte mal ne Frage.

Wenn ich dynamisch ein Element in den DOM Baum einfügen will, geht das bspw. so:

frm=document.getElementById("htmlfrm");
ta = document.createElement('textarea');
frm.appendChild(ta);

Wenn ich das Ding wieder entfernen will scheint das so zu gehen:

if (ta) frm.removeChild(ta);

Nun bin ich mir aus meiner ObjectPascal Logik nicht ganz sicher, ob das Ding auch wirklich weg ist.
Eigentlich würde man den Counterpart zu
document.createElement
irgendwie als
document.destroyElement

vermuten.

Weiss da jemand genaueres?

EDIT: Ich glaube es ist schon richtig. Habe jedenfalls keine gegenteiligen Informationen gefunden.
Es ist halt nicht alles so klar und sauber wie Object Pascal ;-)

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Javascript DOM

Beitrag von Socke »

Wenn ich W3.org (http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#ID-1734834066) richtig verstehe, ist removeElement() das Gegenstück zu appendChild() (o.ä.); es gibt das Objekt also nicht frei.
Inwiefern die Speicherfreigabe durch Referenzzählung geschieht, kann ich nicht sagen, wäre aber eine Möglichkeit (evtl. ist das Objekt aber noch in einer Liste des Dokuments vorhanden).
Auf die Schnelle, ab ich aber in der Dokumentation zu Element, Node und Document keine entsprechende Funktion gefunden, die dafür genutzt werden soll.
In dem Abschnitt "Memory Management" zum Standard steht nur, dass die Speicherverwaltung abhängig von der konkreten Implementierung ist (d.h. sie könnte von Browser zu Browser unterschiedlich sein).
vielleicht hilft dir Google aber auch dabei: http://www.google.com/search?hl=de&q=javascript+dom+memory+management&aq=f&aqi=&aql=&oq=&gs_rfai=
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: Javascript DOM

Beitrag von theo »

Danke!

Antworten