Get list item index in HTML ul Liste mit Javascript

Habe ich die folgende HTML-Seite:

<html>
    <head>
        <script type="text/javascript" src="JavaScript/Menu.js"></script>
    </head>
    <body>
        <ul>
            <li><a onclick="GetIndex(this)">One</a></li>
            <li><a onclick="GetIndex(this)">Two</a></li>
            <li><a onclick="GetIndex(this)">Three</a></li>
            <li><a onclick="GetIndex(this)">Four</a></li>
        </ul>
    </body>
</html>

Und die Menu.js javascript:

function GetIndex(sender)
{   
    var aElements = sender.parentNode.parentNode.getElementsByTagName("a");
    var aElementsLength = aElements.length;

    var index;
    for (var i = 0; i < aElementsLength; i++)
    {
        if (aElements[i] == sender) //this condition is never true
        {
            index = i;
            return index;
        }
    }
}

Warum ist die kommentierte Bedingung nie erfüllt? Wie kann ich vergleichen, ob die beiden HTML-Elemente, die gleich sind in Javascript? Vielen Dank für all die Hilfe.

Nicht zu verwechseln, das Ziel hier ist es zu bekommen, dass die blutigen index. Jedoch lernen, wie man die umstrittene Bedingung true zurück, lösen diese und viele andere Dilemmata.
Dein code funktioniert einwandfrei bei mir im IE und im Chrome, vorausgesetzt, Sie ändern es etwas zu tun, etwas mit index in der Bedingung, anstatt einfach wieder. jsfiddle.net/AndyE/BcSL7
E: ich löschte die return index; Linie und Hinzugefügt alert('Index: ' + index); an das Ende der Funktion, und es resultiert in einer Fehlermeldung "Index: "unbekannte". 🙁
wow, es funktioniert jetzt! was zur Hölle... könnte es sein, dass meine Seite oder javascript zwischengespeichert wurde?
wer schreiben will "Ihr code korrekt ist" in der Antwort werden die Punkte für die richtigen Antworten 🙂

InformationsquelleAutor Boris | 2010-10-27

Schreibe einen Kommentar