Ich möchte die Anzahl der unmittelbaren Kinder, die ein Element hat, und dann die Klasse eines Kindes in einem bestimmten Index bekommen. Etwas wie:Wie Zugriff auf Kindelement von Kindern()?
var index = 25;
var children = $("#myListElement").children();
if (index < children.length) {
if (children[index].hasClass("testClass")) {
alert("hi!");
}
}
Ich denke, die Syntax für .children() ist in Ordnung, aber wie bekomme ich das indizierte Element aus sie in jquery Stil?
Dank
„Kinder enthält eine Reihe von einfachen DOM-Knoten“ das ist irreführend. 'children()' ist ein jQuery-Set wie alles andere. Wenn Sie '.eq (3)' anstelle von '[3]' verwenden, würde dies ein jQuery-Wrapper-DOM-Element wie erwartet zurückgeben. Jede jQuery-Ergebnismenge gibt beim Zugriff mit '[]' ein DOM-Element zurück. –
Grundsätzlich 'children.eq (index) .hasClass (" testClass ")' ist, wie Ihre Antwort geschrieben werden sollte. –
@Doug - Die Anweisung "enthält ein Array von einfachen DOM-Knoten" ist nicht vollständig korrekt. jQuery gibt ein * array-like * -Objekt zurück, das DOM-Knoten enthält, die nach Zahl wie in einem Array indiziert sind. Korrigieren Sie mich auch, wenn ich falsch liege, aber gab es nicht eine Zeit, in der jQuery alle DOM-Knoten standardmäßig umbrochen hat, bevor sie das Wrapping zugunsten der Leistung fallen gelassen hat? – Anurag