JavaScript document.anchors.length 在 Firefox 中返回 1
javascript document.anchors.length returning 1 in firefox
我正在尝试使用 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
HTML 格式中,因此您可以使用 document.links.length
。
如果要获取所有<a>
元素,无论其属性中有什么,都可以使用 document.getElementsByTagName( 'a' ).length
。
请参阅 MDN 文档中的注释:
出于向后兼容性的原因,返回的定位点集仅包含使用 name 属性创建的定位点,不包含使用 id 属性创建的定位点。
该属性旨在查找要链接到的锚点,而不是从中。
使用 document.getElementsByTagName('a')
获取<a>
元素的集合,或document.links
来获取这些元素和<area>
相关文章:
- ascii输入键通过firefox中的javascript返回0
- Firefox使用JQuery返回不正确的JSON
- querySelectorAll在Firefox Addon中返回带有空对象的数组
- 未在Firefox中执行PageMethod的返回函数
- 为什么像 Firefox 和 Chrome 控制台中的 '}{' 这样的结构会返回 'undefined'?
- 用于获取<输入类型=文件>只返回firefox中的文件名
- Firefox 14.0.1在读取通过AJAX发送的JSON文件时返回错误
- 从Java脚本返回多个值,这些值不能在firefox上运行(在IE上运行良好)
- window.frames.length在chrome和Firefox浏览器中返回0
- javascript XMLHTTPRequest在firefox中返回null
- Firefox 无法识别返回的 json 数组,Chrome 可以
- CORS GET 在 Firefox 中返回一个空的响应体
- 为什么这个表达式在 Firefox/Chrome 中返回 true,而在 IE 中返回 false
- 日期差异在Firefox和IE中有效,但在Chrome中返回NaN
- jQuery AJAX 调用在 Firefox 中有效,但在 IE 中不起作用 - 返回有效响应
- JavaScript document.anchors.length 在 Firefox 中返回 1
- getPropertyValue('font-size') 为 Firefox 和 chrome 返回不
- e.preventDefault() 并返回 false 在 Firefox 中不起作用
- 平滑滚动并使用 Firefox 上的 popState 返回按钮 - 需要单击两次
- RegExp.exec() 在 Firefox 中反复调用时返回 null