/ / Tablica elementów w jQuery - jquery, tablice

Tablica elementów w jQuery - jquery, tablice

Kod marży:

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

Proszę mi powiedzieć, jak mogę uzyskać tablicę wszystkich elementów div, aby później można było zająć się szeregiem opcji?

Jak na przykład:

divs[0]
links[1]

Odpowiedzi:

6 dla odpowiedzi № 1

Próbny

var divs = $("#elements div");
var links = $("#elements div a");
  1. Jeśli chcesz elementy DOM, to możesz uzyskać do nich dostęp za pomocą stylu tablicy, na przykład divs[0] lub links[2].
  2. Jeśli chcesz uzyskać konkretny obiekt jQuery, możesz uzyskać do niego dostęp za pomocą divs.eq(0) lub links.eq(1).

6 dla odpowiedzi nr 2
$("#elements div").eq(0) // first div

$("#elements div a").eq(1) // second anchor in group of divs

Bez .eq() masz kolekcję elementów, .eq po prostu wyodrębnia elementy.


1 dla odpowiedzi nr 3
wrapper = document.getElementById("elements");
divs = wrapper.getElementsByTagName("div");
links = [];
for (i = 0; i < divs.length; i++) {
links[i] = divs[i].getElementsByTagName("a");
}

divs będzie teraz tablicą div w środkutwoje "elementy" div. Odsyłacze są obecnie dwuwymiarowymi tablicami, gdzie pierwszy indeks odwołuje się do elementu div wewnątrz elementu div, a drugi indeks odnosi się do znaczników "a" wewnątrz tego elementu div.

links[2][1]

będzie odnosić się do elementu oznaczonego poniżej:

<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 dla odpowiedzi nr 4

Lub też, i uważam, że dokładniej to, o co prosiłeś:

$ ("# element div: eq (0) a: eq (1)")


0 dla odpowiedzi № 5
$("#elements a")

$("div a")

or $("a")

selektory jQuery


0 dla odpowiedzi № 6

Widzieć https://api.jquery.com/toArray/

$( "li" ).toArray()

Działa to świetnie w takich przypadkach jak

$( "li" ).toArray().each( function(li) {
console.log("do something with this list item", li);
})

lub jeśli naprawdę chcesz

$( "li" ).toArray()[0]