Ich habe eine Klasse .object
mit einem Attribut namens level
. Ich möchte eine Liste aller verschiedenen Werte level
auf der Seite erhalten, damit ich den höchsten auswählen kann.
Wenn ich so etwas mache wie:
$(".object").attr("level")
... bringt mir das eine Liste von Werten, die die Werte des Level-Attributs sind? Ich vermute nicht, aber wie macht man so etwas?
Hinweis: Ich möchte nicht wie üblich ein HTML-Objekt zur Bearbeitung auswählen, sondern Werte des Attributs auswählen.
EDIT: Um das höchste "Level" zu erreichen, habe ich dies getan, aber es scheint nicht zu funktionieren. Ich werde jetzt die andere vorgeschlagene Methode ausprobieren.
var highLevel=0;
$.each(".object[level]", function(i, value) {
if (value>highLevel) {
highLevel=value;
}
});
alert(highLevel);
jquery
css-selectors
Ankur
quelle
quelle
Antworten:
$(".object").attr("level")
gibt nur das Attribut des ersten.object
Elements zurück.Dadurch erhalten Sie eine Reihe aller
level
s:quelle
.get()
?get
konvertiert das jQuery-Objekt in ein reguläres Array..get()
das Array zu verwenden und dann die.map()
Plus-Pfeil-Funktion (Browser-Unterstützung: caniuse.com/#search=arrow ) zu verwenden, um das Array mit einem einfachen Javascript zu$(".object").get().map(x => x.getAttribute('level'));
Erster Teil der Frage: Abrufen der Attributwerte in ein Array. Siehe diese Frage
jQuery ruft img-Quellattribute aus der Liste ab und überträgt sie in das Array
Du würdest sagen
Im zweiten Teil der Frage können Sie diese Technik verwenden, um den höchsten Wert zu erzielen
quelle
Ich gehe von einem solchen Markup aus:
Für meinen Code werde ich mit "1000" benachrichtigt.
Hier ist eine andere Lösung, die mehrere der anderen Antworten von Harpo, Lomaxx und Kobi kombiniert:
quelle
der Selektor
gibt Ihnen alle dom-Elemente mit Klasse
object
und einem Attributlevel
.Dann können Sie einfach die .each () -Methode verwenden, um die Elemente zu durchlaufen und den höchsten Wert zu erhalten
quelle
$(".object[level=something]")
Wo etwas ist, nach welchem Attributwert Sie suchenSie können die Funktionalität von Jquery erweitern und Ihre eigene 'attrs'-Implementierung hinzufügen.
Fügen Sie Ihrer JavaScript-Datei die folgenden Codezeilen hinzu:
Jetzt können Sie die Liste der Ebenenwerte abrufen, indem Sie Folgendes aufrufen:
quelle