我正在尝试使用 javascript 运行页面中 6 个锚点的列表,对它们进行一些操作。然而,循环没有被执行,因为anchors.length返回1。以下是我的代码片段:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script type="text/javascript">
function load()
{
alert(document.anchors.length);
for (i = 0; i <= document.anchors.length; i++)
{
alert(document.anchors[i].innerHTML);
}
}
</script>
</head>
<body onload="load()">
<div>
<ul>
<a id="sectionlinks" href="page1.html">link 1</a></li>
<a id="sectionlinks" href="page2.html">link 2</a></li>
<a id="sectionlinks" href="page3.html">link 3</a></li>
<a id="sectionlinks" href="page4.html">link 4</a></li>
<a id="sectionlinks" href="page5.html">link 5</a></li>
<a id="sectionlinks" href="page6.html">link 6</a></li>
<ul>
</div>
</body>
</html>
这在 IE9 中运行良好。但在 Firefox 和 Chrome 中,它说计数等于 1。如果有人能指出我在这里错过的内容,那就太好了。
正如你可能已经猜到的,我是 JS 的新手,刚刚学习它。
至少,你正在以正确的方式学习,继续前进!
你做错的是document.anchors
指的是锚链接(旧的锚链接使用name
属性),不是正常的链接。例如,以下是一个锚点:
<a name="tab"></a>
以下是一个链接:
<a href="/some/link"></a>
链接位于document.links
HTMLCollection,所以你可以使用document.links.length
.
如果你想获得所有<a>
元素,无论其属性是什么,您都可以使用document.getElementsByTagName( 'a' ).length
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)