jquery .die Kinder ().get()
Beispiel:
<ul>
<li>
<a></a>
</li>
<li>
<a></a>
</li>
</ul>
Kann ich verwenden $('ul').children('li').get(0);
um die Liste der Artikel. Wie kann ich .children('a')
durchqueren Sie den Baum?
Habe ich versucht, etwas wie $('ul').children('li').get(0).children('a');
aber das funktioniert nicht.
Für zukünftige Referenz:
- Werde ich andere Dinge zu tun, um die
li
andere als die Traversierung nach unten
dera
, das ist der Grund, warum ich versuche, mit.children()
. - - Index wird dynamisch und nicht immer 0.
Weshalb .eq() ist die bevorzugte Antwort. Jetzt kann ich etwas tun wie:
_load = function(index) {
image_get = thumbs.children('li').eq(index);
[...]
$(function() {
var img = $(new Image());
img
.load(function() {
[...]
}
.attr('src', image_get.children('a').attr('href'));
});
}
_load(0);
^^^ WIP. Code unvollendet.
InformationsquelleAutor gavsiu | 2011-07-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
.get()
gibt ein DOM-Element. Sie können wickeln Sie es wieder in ein jQuery-Objekt wie:Aber ich denke, was Sie wirklich wollen, ist
.eq()
statt.get()
:Bearbeiten
Als Reid freundlich darauf hingewiesen in den Kommentar unten,
$('ul').children('li').eq(0).children('a');
ist semantisch äquivalent zu der mehr prägnant :
$('ul > li:first-child > a');
die nicht die gleiche wie die oben genannten mit einem einzigen Selektor.
$('ul > li:first-child > a')
zu emulieren, dass obige snippet.Es ist wahr, dass diese Auswahl nicht die gleiche Sache 🙂 Aber ich denke, es ist wichtig zu erklären, den Unterschied zwischen
.get()
und.eq()
zu gavsiu. Er kann zu wollen, etwas zu tun, wie.eq(3)
in der Zukunft (oder jetzt) auch für alle, die wir kennen.Das ist genau das, was ich Suche. Sollten Sie wirklich setzen Sie einen link zwischen .index() und .eq().
Vereinbart. Ich verwendet, um zu verwenden
.get()
und wickeln Sie es in ein jQuery-Objekt, wie mein erstes Beispiel für etwa 6 Monate, bevor ich erkannte, dass es.eq()
. Anyways, ich bin froh, dass ich helfen konnte 🙂InformationsquelleAutor Paulpro
Warum nicht einfach alle im selector und lassen Sie, dass Sie tun all die Arbeit für Sie:
Diese erhalten ein jQuery-Objekt für die erste
<a>
tag in Ihrem Beispiel-HTML.Den Selektor Logik funktioniert wie folgt: hier Finden Sie alle ul-tags, die erste li-tag in jedem, dann erhalten alle a-tags in jedem der ersten li-tags. Das Ergebnis ist ein jQuery-Auswahl, die Sie dann anwenden können verschiedene Vorgänge.
Demo hier: http://jsfiddle.net/jfriend00/5qZP5/
InformationsquelleAutor jfriend00
Können Sie dies tun,
$('ul li a:first');
http://jsfiddle.net/jasongennaro/yCAT6/
$('ul li a');
Rückgabe allera
s in dieser Liste.:first
Filter, die nur für die erste.InformationsquelleAutor Jason Gennaro