0

我有一个 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 数组?

4

3 回答 3

3

如果你想要一个静态列表:

var mylist = $('#myDiv > ul > li > a').toArray();

但是你写了“......知道项目的数量可能会改变”。如果这意味着您想要一个随 DOM 更改而更新的“实时列表”,请执行以下操作:

var mylivelist = document.getElementById("myDiv")
                         .getElementsByTagName("a");

此列表将在添加或删除项目时更新。它假设在 中没有其他<a>元素<div>。如果有,则需要进行调整。

于 2012-11-27T02:26:44.387 回答
0

如果你使用 jQuery,那么它是

$('#myDiv a')

如果没有 jQuery 那么就这个

document.getElementById('myDiv').getElementsByTagName('a')
于 2012-11-27T02:26:15.707 回答
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 />');
    }
于 2012-11-27T02:33:14.720 回答