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