Bei click value des angeklickten Links ausgeben/in Variable speichern

  • Hey,


    ich verstehe nicht, warum dort nichts ausgegeben wird. Habe auch schon im Internet geschaut kurz. Aber die angewandten Beispiele haben nichts geholfen.


    Ich möchte beim klick auf ein Link die value dieses einen Linkes in einer variable speichern und dann zum Test ausgeben.


    Ich habe es so versucht (jedoch wird nichts ausgegeben):

    HTML
    <a class='sucheKontakte' value='hans@gmx.de'  href="#"><p>hans@gmx.de</p></a>
    <a class='sucheKontakte' value='hans1@gmx.de' href="#"><p>hans1@gmx.de</p></a>
    <a class='sucheKontakte' value='hans2@gmx.de' href="#"><p>hans2@gmx.de</p></a>
    <a class='sucheKontakte' value='hans3@gmx.de' href="#"><p>hans3@gmx.de</p></a>
    
    <div id="hinzugefuegteMembers">
        
    </div>
    JavaScript
    document.getElementsByClassName("sucheKontakte").addEventListener("click", test);
    
            function test(){
                var value = document.getElementsByClassName("sucheKontakte").value;
                document.getElementById("hinzugefuegteMembers").innerHTML = value;
            }


    Stef

  • Code
    document.getElementsByClassName("sucheKontakte").addEventListener("click", test);

    Das geht mit jQuery, aber nicht mit einfachem Javascript. getElementsByClassName() liefert eine Nodelist, in etwa ein Array, über das Du explizit in einer Schleife iterieren und den Listener hinzu fügen musst. Das geklickte Element steht dann unter "this" zur Verfügung und Du kannst das Attribut "value" auslesen.

    Ich würde erwarten, dass die Console hier einen Fehler anzeigt.

  • Hoffentlich hast Du mich nicht falsch verstanden. "Das geht nur mit jQuery" bezog sich darauf, dass man einen Listener für eine Liste registriert, ohne iterieren zu müssen. Arbeitest Du mit einer Schleife geht es selbstverständlich auch ohne jQuery.

Jetzt mitmachen!

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