/ / Масив от елементи в jQuery - jquery, масиви

Множество елементи в jQuery - jquery, масиви

Код за маркиране:

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

Моля, кажете ми как мога да получа масив от всички елементи на div, така че по-късно е възможно да се обърне към множество опции?

Като:

divs[0]
links[1]

Отговори:

6 за отговор № 1

Демонстрация

var divs = $("#elements div");
var links = $("#elements div a");
  1. Ако искате елементите на DOM, тогава ще имате достъп до тях с типа на масив divs[0] или links[2].
  2. Ако искате да получите конкретния обект jQuery, можете да получите достъп до тях divs.eq(0) или links.eq(1).

6 за отговор № 2
$("#elements div").eq(0) // first div

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

Без .eq() имате колекция от елементи, .eq просто отделя елементите.


1 за отговор № 3
wrapper = document.getElementById("elements");
divs = wrapper.getElementsByTagName("div");
links = [];
for (i = 0; i < divs.length; i++) {
links[i] = divs[i].getElementsByTagName("a");
}

divs сега ще бъде масив от divs вътревашите "елементи" div. Връзки сега е двуизмерен масив, където първият индекс се отнася за div вътре във вашите "елементи" div, а вторият индекс се отнася за "a" тагове вътре в този div.

links[2][1]

ще се отнася до елемента, означен по-долу:

<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 за отговор № 4

Или също така, и аз вярвам, че това е по-точно това, което сте поискали:

$ ("# елемента div: eq (0) a: eq (1)")


0 за отговор № 5
$("#elements a")

$("div a")

or $("a")

jQuery селектори


0 за отговор № 6

виждам https://api.jquery.com/toArray/

$( "li" ).toArray()

Това работи чудесно в подобни случаи

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

или ако наистина искате

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