我有一个div和一个包含一些项目的列表:
<div id="myDiv">
<ul>
<li><a>Item 1</a></li>
<li><a>Item 2</a></li>
<li><a>Item 3</a></li>
</ul>
我怎样才能轻松制作一个&#39; a&#39;的Javascript数组?知道项目数量可能会发生变化的元素?
答案 0 :(得分:3)
如果你想要一个静态列表:
var mylist = $('#myDiv > ul > li > a').toArray();
但你写了“......知道项目数量可能会改变”。如果这意味着您需要一个随DOM更新而更新的“实时列表”,请执行以下操作:
var mylivelist = document.getElementById("myDiv")
.getElementsByTagName("a");
此列表将在添加或删除项目时更新。它假设<a>
中没有其他<div>
个元素。如果有,你需要调整。
答案 1 :(得分:0)
如果你使用jQuery那么它是
$('#myDiv a')
如果没有jQuery那么就是这个
document.getElementById('myDiv').getElementsByTagName('a')
答案 2 :(得分:0)
在普通的旧javascript中(不需要jQuery):
var myDiv = document.getElementById('myDiv');
var allAnchors = myDiv.getElementsByTagName('a');
for (var i = 0; i < allAnchors.length; i++) {
//do something with each allAnchors[i] node
document.write(allAnchors[i].innerHTML + '<br />');
}