<div id="nav">
<ul id="linkselect">
<li class="important" ><a href="home.html">Home</a></li>
<li><a href="rlsdoc.html" >Release Document</a></li>
<li><a href="dtadmp.html">Data Dump</a></li>
<li><a href="facsetup.html">Facility Setup</a></li>
<li><a href="dbuelem.html">DBU Elimination</a></li>
<li><a href="contact.html">Contact us</a></li>
</ul>
</div>
我想将div“nav”的所有链接(Home,Release Document等)放入一个数组中,以便我可以迭代地使用它们。请帮我解决这个问题的JavaScript代码。提前谢谢。
答案 0 :(得分:3)
document.getElementById("nav").getElementsByTagName("a")
这将返回包含所有“a”节点的节点列表
答案 1 :(得分:0)
我们可以使用.querySelectorAll()
的组合来查询所需的锚点,并使用Array.prototype.forEach
来迭代这些静态元素引用。
var anchors = document.querySelectorAll('#linkselect a'),
each = [].forEach;
each.call( anchors, function( a ) {
console.log( a );
});
注意:这两种方法在“old'ish”浏览器中都不可用,但很容易创建,有很多可用的填充程序。
答案 2 :(得分:0)
试试这个。
的Javascript
var items = [];
var anchors = document.getElementById("nav").getElementsByTagName("a");
for(var i = 0; i<anchors.length; i++){
items.push(this.href);
}
的jQuery
var items = [];
$("#nav a").each(function(){
items.push(this.href);
});
答案 3 :(得分:0)
这应该可以用纯JavaScript做到你需要的东西:
window.onload = function() {
var data = [];
var oDiv = document.getElementById("nav");
var links = oDiv.getElementsByTagName("a");
for (var i = 0; i < links.length; i++)
data.push(links[i].innerHTML);
alert(data.join("\n"));
};
答案 4 :(得分:-1)
jQuery的:
$('#linkselect li a')
普通javascript:
document.getElementById('linkselect').getElementsByTagName("a")