• Kann mir jemand sagen, was ich falsch mache? Ich möchte, dass der versteckte Textteil bei Drücken des Buttons erscheint. Ich habe bewusst keine ID's gewählt, sondern Klassen, damit ich die Funktion öfter in einer Seite verwenden kann.


  • 1. getElementsByClassName liefert kein einzelnes Element sondern ein Nodelist, im wesentlichen ein Array. Darüber müsstest Du eine Schleife machen.

    2. Du musst eine Verbindung zwischen dem geklickten Button und dem .main mit dem Inhalt herstellen. Hast Du den Button, kannst Du das .main mit nextElementSibling finden.


    Am besten gleich den Button an die Funktion fun übergeben:

    <button onclick="fun(this)">Lesen Sie mehr</button></div>

    Dann steht er in der Funktion zur Verfügung:

    Code
    function fun(btn){
        var content = btn.nextElementSibling;

    Ungetestet, den Rest überlasse ich dir.

  • Gegen deine Vorgehensweise ist nicht einzuwenden.


    Alternativen:


    Die Eventlistener nicht inline notieren sondern mit addEventListener registrieren


    Dies ist problemlos auch mit nur-CSS möglich.


    Je nachdem, wie es gewollt ist, kann man dafür sorgen, dass immer nur ein Element geöffnet ist.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!