标记代码:
<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]
答案 0 :(得分:6)
$('#elements div').eq(0) // first div
$('#elements div a').eq(1) // second anchor in group of divs
如果.eq()
没有元素集合,.eq
只会将元素单独列出。
答案 1 :(得分:5)
var divs = $('#elements div');
var links = $('#elements div a');
divs[0]
或links[2]
等数组样式访问它们。divs.eq(0)
或links.eq(1)
访问它们。答案 2 :(得分:1)
wrapper = document.getElementById('elements');
divs = wrapper.getElementsByTagName('div');
links = [];
for (i = 0; i < divs.length; i++) {
links[i] = divs[i].getElementsByTagName('a');
}
divs现在将是“elements”div中div的数组。链接现在是一个二维数组,其中第一个索引引用“elements”div中的div,第二个索引引用该div中的“a”标记。
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>
答案 3 :(得分:1)
或者,我相信这更符合您的要求:
$(“#elements div:eq(0)a:eq(1)”)
答案 4 :(得分:1)
请参阅https://api.jquery.com/toArray/
$( "li" ).toArray()
这在
等情况下效果很好$( "li" ).toArray().each( function(li) {
console.log('do something with this list item', li);
})
或者如果你真的想要
$( "li" ).toArray()[0]
答案 5 :(得分:0)
$("#elements a")
$("div a")
or $("a")