lima-city: Webhosting, Domains und Cloud
3 Pluspunkte 0 Minuspunkte

Ich habe eine Liste an Div Elementen innerhalb eines Div.

<div id="menu">
    <div onclick="test()">A</div>
    <div onclick="test()">B</div>
    <div onclick="test()">C</div>
    <div onclick="test()">D</div>
    <div onclick="test()">E</div>
</div>

Wie kann ich in der Javascript Funktion die Position bestimmen an der das angeklickte Element war?

function test() { 
    // welche position hat das div auf das geklickt wurde in der liste? 
}
von  

1 Antwort

1 Pluspunkt 0 Minuspunkte

Du kannst der Funktion eine Referenz auf das geklickte Element mitgeben.

<div id="menu">
  <div onclick="test(this)">A</div>
  <div onclick="test(this)">B</div>
  <div onclick="test(this)">C</div>
  <div onclick="test(this)">D</div>
  <div onclick="test(this)">E</div>
</div>

In Javascript erstellst du ein Array aus allen Div Elementen die Kindelemente vom Div "menu" sind. Dann suchst du nach dem Index an dem das Element das du referenziert hast in diesem Array enthalten ist.

function test(element) {
    var divs = document.getElementById("menu").querySelectorAll('div');
    var position = Array.from(divs).indexOf(element);
    alert("Position in der Liste: " + position);
}

von (397 Punkte)  
Diese Community basiert auf dem Prinzip der Selbstregulierung. Beiträge werden von Nutzern erstellt, bewertet und verbessert – ganz ohne zentrale Moderation.

Wer hilfreiche Fragen stellt oder gute Antworten gibt, sammelt Punkte. Mit steigender Punktzahl erhalten Mitglieder automatisch mehr Rechte, zum Beispiel

  • Kommentare verfassen
  • Beiträge bewerten
  • Inhalte bearbeiten
  • Inhalte ausblenden

So entsteht eine Plattform, auf der sich Qualität durchsetzt – getragen von einer engagierten Gemeinschaft. Unser Ziel: Guter Inhalt. Für alle.

2.3k Fragen

2.8k Antworten

260 Kommentare

13 Nutzer