Rolf B: Existenz eines 'dynamisch' erzeugten Elements ermitteln

Beitrag lesen

Hallo znoerk,

Beim Klick auf ein bestimmtes Element fügt das 'Fremdjavascript' neue Elemente in die Seite ein. Eben gerade die, die ich manipulieren möchte/soll. Wie kann ich feststellen, ob die dynamisch erzeugten Elemente vorhanden sind ?

Vielleicht habe ich das ja nicht richtig verstanden. Das Fremdscript fügt ein, und nach dem Einfügen möchtest Du diese Elemente „nachbearbeiten“?

Es wäre dann die Frage, ob das Fremdscript vielleicht asynchron arbeitet. Es könnte zum Beispiel einen Serverzugriff machen, bevor es seine Elemente einfügt. Das sieht man im Netzwerktrace. Es könnte auch einfach stumpf einen Mikrotask absetzen, oder per setTimeout einen Makrotask, um möglichst schnell die Eventloop wieder freizugeben. Dann nützt es Dir nichts, auf den gleichen click zu lauern wie das Fremdscript.

In diesem Fall wäre ein MutationObserver vermutlich die einzige Möglichkeit. Oder halt der dicke Daumen - ein Serverzugriff dauert so und so lange, und dann einfach mal loslegen. Kannst Du die neuen Elemente erkennen, wenn sie da sind? Und dann ggf. mit einer Klasse oder einem data-Attribut markieren, dass Du sie schon „behandelt“ hast?

Rolf

--
sumpsi - posui - obstruxi