/ / Ein Array von Elementen in jQuery - Jquery, Arrays

Ein Array von Elementen in jQuery - jquery, arrays

Markierungscode:

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

Bitte sagen Sie mir, wie ich ein Array aller Elemente der div, so dass es später möglich ist, ein Array von Optionen anzusprechen?

Sowie:

divs[0]
links[1]

Antworten:

6 für die Antwort № 1

Demo

var divs = $("#elements div");
var links = $("#elements div a");
  1. Wenn Sie die DOM-Elemente wünschen, können Sie mit dem Array-Stil wie auf sie zugreifen divs[0] oder links[2].
  2. Wenn Sie das spezifische jQuery-Objekt abrufen möchten, können Sie mit darauf zugreifen divs.eq(0) oder links.eq(1).

6 für die Antwort № 2
$("#elements div").eq(0) // first div

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

Ohne das .eq() Sie haben eine Sammlung von Elementen, die .eq nur die Elemente heraus.


1 für die Antwort № 3
wrapper = document.getElementById("elements");
divs = wrapper.getElementsByTagName("div");
links = [];
for (i = 0; i < divs.length; i++) {
links[i] = divs[i].getElementsByTagName("a");
}

divs ist jetzt ein Array der divs inIhre "Elemente" div. Links ist jetzt ein zweidimensionales Array, wobei sich der erste Index auf das div in Ihrem "elements" -Div und der zweite Index auf die "a" -Tags in diesem div bezieht.

links[2][1]

bezieht sich auf das unten angegebene Element:

<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 für die Antwort № 4

Oder auch, und ich glaube, das ist genau das, wonach Sie gefragt haben:

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


0 für die Antwort № 5
$("#elements a")

$("div a")

or $("a")

jQuery-Selektoren


0 für die Antwort № 6

Sehen https://api.jquery.com/toArray/

$( "li" ).toArray()

Dies funktioniert in Fällen wie

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

oder wenn du wirklich willst

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