我有一个 div 和一个包含一些项目的列表:
<div id="myDiv">
<ul>
<li><a>Item 1</a></li>
<li><a>Item 2</a></li>
<li><a>Item 3</a></li>
</ul>
知道项目的数量可能会发生变化,我怎么能轻松地制作一个 'a' 元素的 Javascript 数组?
我有一个 div 和一个包含一些项目的列表:
<div id="myDiv">
<ul>
<li><a>Item 1</a></li>
<li><a>Item 2</a></li>
<li><a>Item 3</a></li>
</ul>
知道项目的数量可能会发生变化,我怎么能轻松地制作一个 'a' 元素的 Javascript 数组?
如果你想要一个静态列表:
var mylist = $('#myDiv > ul > li > a').toArray();
但是你写了“......知道项目的数量可能会改变”。如果这意味着您想要一个随 DOM 更改而更新的“实时列表”,请执行以下操作:
var mylivelist = document.getElementById("myDiv")
.getElementsByTagName("a");
此列表将在添加或删除项目时更新。它假设在 中没有其他<a>
元素<div>
。如果有,则需要进行调整。
如果你使用 jQuery,那么它是
$('#myDiv a')
如果没有 jQuery 那么就这个
document.getElementById('myDiv').getElementsByTagName('a')
在普通的旧 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 />');
}