/ / Un tableau d'éléments dans jQuery - jQuery, tableaux

Un tableau d'éléments dans jQuery - jquery, arrays

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 № 1

Démo

var divs = $("#elements div");
var links = $("#elements div a");
  1. Si vous voulez les éléments DOM, vous pouvez y accéder avec le style de tableau comme divs[0] ou links[2].
  2. Si vous voulez obtenir l’objet jQuery spécifique, vous pouvez y accéder avec divs.eq(0) ou links.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")

Sélecteurs jQuery


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]