jQuery - klick auf dynamisch erstellte Elemente funktioniert nicht
bearbeitet von
@@ebody
> vielen Dank an alle.
Wenn du die dir gegebenen Hinweise auch umsetzen würdest – das wäre ein Dank!
> So hat es bei mir jetzt funktioniert:
>
> ~~~HTML, bad
> <div id="element">Element erstellen</div>
> ~~~
Bei *dir* hat das (vieleeicht) funktioniert. Bei anderen funktioniert das nicht.
Baust du die Seite für dich oder für andere, die sie nutzen sollen? Vermutlich letzteres; also [so bauen, dass andere sie nutzen können](https://forum.selfhtml.org/self/2018/sep/12/jquery-klick-auf-dynamisch-erstellte-elemente-funktioniert-nicht/1731661#m1731661).
> ~~~JavaScript
> $( "#elementBox" ).append( "<div id=\"aepfel\">Äpfel</div>");
> $( "#elementBox" ).append( "<div id=\"birnen\">Birnen</div>");
> ~~~
Es gibt einfache und doppelte Anführungszeichen. Wenn man beide einsetzt, lassen sich Escape-Orgien vermeiden.
> ~~~JavaScript
> $("#aepfel").css("display","none");
> $("#birnen").css("display","block");
> ~~~
Gibt es einen Grund, warum du jQuery einsetzt, aber es nicht verwendest? Hier speziell die Methoden `hide()`, `show()` und `toggle()`?
Mal abgesehen davon, dass `show()` und `toggle()` einen [ziemlich üblen Bug](https://github.com/jquery/jquery/issues/4164) haben und die jQuery-Entwickler keine Anstalten machen, diesen zu fixen. 😡
LLAP 🖖
--
*„Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“* —Kurt Weidemann