Frage

Sowohl die jQuery- als auch die Prototpye-JavaScript-Bibliothek erlauben es mir nicht, eine Variable zum Auswählen eines Listenelementelements anhand der Indexnummer zu verwenden, obwohl sie eine fest codierte Nummer akzeptieren.

In Prototype funktioniert dies beispielsweise:

$$('li')[5].addClassName('active');

Aber das wird nicht funktionieren, egal wie ich versuche, die Variable in eine Zahl oder Ganzzahl umzuwandeln:

$$('li')[currentPage].addClassName('active');

In jQuery erlebe ich eine ähnliche Verrücktheit.Das wird funktionieren:

jQuery('li').eq(5).addClass("active");

Dies funktioniert jedoch nicht erneut, obwohl der Wert von currentPage 5 und der Typ number ist:

jQuery('li').eq(currentPage).addClass("active");

Ich versuche, ein JavaScript-Paginierungssystem zu erstellen und muss die Klasse auf der Schaltfläche für die aktive Seite festlegen.Die Elemente der Listenelemente werden dynamisch erstellt, abhängig von der Anzahl der benötigten Seiten.

War es hilfreich?

Lösung

Es sieht so aus, als müsste ich in meiner Elementauswahl nur genauere Angaben machen, obwohl es seltsam ist, dass eine fest codierte Zahl funktionieren würde.

jQuery('#pagination-digg li').eq(currentPage).addClass("active");

Andere Tipps

Sind Sie sicher, dass? currentPage ist eine ganze Zahl?Versuchen Sie etwas wie:

var currentPage = 5;
jQuery('li').eq(currentPage);

als einfache Überprüfung der geistigen Gesundheit.Wenn das funktioniert, sollten Sie versuchen, es zu konvertieren Integer.

Stellen Sie sicher, dass die Variable „currentPage“ im Code, in dem auf sie zugegriffen wird, den korrekten Gültigkeitsbereich hat.Könnte die Variable an einer anderen Stelle im Code geändert werden, bevor Sie darauf zugreifen?Werkzeuge wie Feuerkäfer kann Ihnen dabei helfen, am Ausführungspunkt einen Haltepunkt hinzuzufügen und den Wert Ihrer Variablen anzuzeigen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top