Code de marquage:
<div id="elements">
<div>
<a href="#">text</a>
<a href="#">text</a>
<a href="#">text</a>
</div>
<div>
<a href="#">text</a>
<a href="#">text</a>
<a href="#">text</a>
</div>
<div>
<a href="#">text</a>
<a href="#">text</a>
</div>
</div>
S'il vous plaît dites-moi comment puis-je obtenir un tableau de tous les éléments de la div
, de sorte que plus tard, il est possible d'adresser un tableau d'options?
Tel que:
divs[0]
links[1]
Réponses:
6 pour la réponse № 1var divs = $("#elements div");
var links = $("#elements div a");
- Si vous voulez les éléments DOM, vous pouvez y accéder avec le style de tableau comme
divs[0]
oulinks[2]
. - Si vous voulez obtenir l’objet jQuery spécifique, vous pouvez y accéder avec
divs.eq(0)
oulinks.eq(1)
.
6 pour la réponse № 2
$("#elements div").eq(0) // first div
$("#elements div a").eq(1) // second anchor in group of divs
Sans le .eq()
vous avez une collection d'éléments, le .eq
ne fait que distinguer les éléments.
1 pour la réponse № 3
wrapper = document.getElementById("elements");
divs = wrapper.getElementsByTagName("div");
links = [];
for (i = 0; i < divs.length; i++) {
links[i] = divs[i].getElementsByTagName("a");
}
divs sera maintenant un tableau des divs à l'intérieur devos "éléments" div. Links est maintenant un tableau à deux dimensions, où le premier index fait référence à la div à l'intérieur de votre div "elements", et le deuxième index aux balises "a" à l'intérieur de cette div.
links[2][1]
fera référence à l'élément noté ci-dessous:
<div id="elements">
<div>
<a href="#">text</a>
<a href="#">text</a>
<a href="#">text</a>
</div>
<div>
<a href="#">text</a>
<a href="#">text</a>
<a href="#">text</a>
</div>
<div>
<a href="#">text</a>
<a href="#">text</a> //this one
</div>
</div>
1 pour la réponse № 4
Ou aussi, et je crois que c'est plus exactement ce que vous avez demandé:
$ ("# éléments div: eq (0) a: eq (1)")
0 pour la réponse № 5
$("#elements a")
$("div a")
or $("a")
0 pour la réponse № 6
Voir https://api.jquery.com/toArray/
$( "li" ).toArray()
Cela fonctionne très bien dans des cas comme
$( "li" ).toArray().each( function(li) {
console.log("do something with this list item", li);
})
ou si tu veux vraiment
$( "li" ).toArray()[0]