Die id eines Elementes in eine Variable schreiben

  • Hallo Leute,

    ich möchte, dass beim Klicken auf ein Element, z.Bsp. auf einen Paragraphen, dessen "id" in eine Variable geschrieben wird.

    Ich habe folgendes versucht:

    <html>

    <p id="test1" onclick="schreibId()"> HierClicken</p>

    <p id="test2" onclick="schreibId()"> HierClicken</p>

    <script>

    function schreibId()

    {

    var x = document.getElementById(this).getAttribute("id");

    document.writeln(x);

    }

    </script>

    </html>

    Das klappt aber offensichtlich nicht, x sollte den Wert "test1" oder "test2" erhalten.

    Kann jemand helfen?

    Jürg

  • 1. "this" ist nicht verfügbar, bzw. es ist das window-Element, wenn Du den Eventlistener inline notierst. Du musst es als Parameter übergeben:

    Code
    onclick="schreibId(this);"

    2. Wenn Du es so machst, ist this bereits ein DOM-Element und Du brauchst es nicht mehr mit getElementById zu ermitteln.

    3. Verabschiede dich von document.write, es ist schwierig zu durchschauen. Definiere statt dessen eine Container und schreibe den Wert hinein.

    So funktioniert es:

    Code
        <p id="test1" onclick="schreibId(this)"> HierClicken</p>
        <p id="test2" onclick="schreibId(this)"> HierClicken</p>
        <p id="output"></p>
        <script>
            function schreibId(ele) {
                var x = ele.id;
                output.innerHTML = x;
            }
        </script>
  • Vielen Dank, Sempervivum, das ist genau das Richtige!

    ich bin gerade am Erlernen von Javascript.

    Jürg

    Einmal editiert, zuletzt von Juerg (5. November 2017 um 00:04)

Jetzt mitmachen!

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