Kim: auf per JS dynamisch erzeugte Elemente wieder zugreifen

Moin zusammen,

ich bin gerade dabei, ein einfach gehaltenes JS-Paint aufzubohren.
Dabei werden beim Zeichnen per JS auf einem Layer neue Layer erstellt mit

// Neues Element erstellen:
var paintElement = document.createElement("div");
// (... hier kommen einige CSS-Zuweisungen an das neue Element wie Farbe, Größe usw.)
// Neues Element setzen:
document.getElementById("area").appendChild(newPaintingBlock);

Das klappt alles hervorragend und sehr performant.
Nur wie kann ich im Nachhinein noch auf die Dinger zugreifen?
Ich habe versucht, die paintElement-Variablen in ein Array zur Schreiben und darüber dann jedes Einzelne zu erwischen. Das funktioniert nur offenbar leider nicht.

Hat jemand Vorschläge?
Viele Grüsse und danke,
Kim

  1. // Neues Element erstellen:
    var paintElement = document.createElement("div");
    // (... hier kommen einige CSS-Zuweisungen an das neue Element wie Farbe, Größe usw.)
    // Neues Element setzen:
    document.getElementById("area").appendChild(newPaintingBlock);

    Das klappt alles hervorragend und sehr performant.
    Nur wie kann ich im Nachhinein noch auf die Dinger zugreifen?

    Wieso? Du hast doch bereits painElement, genau damit kannst du auf das Element zugreifen.

    Ich habe versucht, die paintElement-Variablen in ein Array zur Schreiben und darüber dann jedes Einzelne zu erwischen. Das funktioniert nur offenbar leider nicht.

    Dann machst etwas falsch, aber wieso ein Array?

    Struppi.

    1. Wieso? Weil ich nach und nach viele Hundert dieser paintElement-Objekte erzeuge, es wird meistens sofort wieder überschrieben.

      Wieso? Du hast doch bereits painElement, genau damit kannst du auf das Element zugreifen.

      Ich habe allerdings einen Fehler gemacht. Mein Testcase war falsch, daher nahm ich an, dass das nicht geht. Sorry dafür. Der Zugriff über ein Array funktioniert in der Tat tadellos. Ich war zu doof, meinen Fehler zu erkennen. Man hätte ja auch eine id zuweisen können und danach mit getElementById() arbeiten können. Allerdings ist der Zugriff aufs DOM wohl weniger performant, als wenn ich nur das Array mit in Frage kommenden Elementen verwende.

      Ich habe versucht, die paintElement-Variablen in ein Array zur Schreiben und darüber dann jedes Einzelne zu erwischen. Das funktioniert nur offenbar leider nicht.

      Dann machst etwas falsch, aber wieso ein Array?

      Siehe oben. Eben VIELE dynamisch erstellte Elemente.