document.links和document.anchors有什么区别?

时间:2017-05-16 16:53:10

标签: javascript dom

我在页面上的开发控制台中尝试了document.linksdocument.anchors,并且有162个链接,但有255个锚点。但是,它们都是<a>元素。

到目前为止,我认为链接和锚是完全同义词(只要它们都引用<a>标签)。技术上和语义上有什么区别?

2 个答案:

答案 0 :(得分:5)

document.anchors非常简单地返回文档中具有name属性值的所有锚点的集合。它已从网络标准中删除,不应再使用

document.links会返回文档中所有<area>元素和<a>元素的集合,其中包含href属性的值。

所以他们相似,但绝对不一样。 document.anchors会找到<a name="foo">foo</a>之类的锚点(而document.links不会),而document.links会找到<a href="foo.html">foo</a><area shape="circle" coords="75,75,75" href="foo.html">(而{document.anchors {1}}不会。

答案 1 :(得分:1)

锚是具有a属性的name元素。在过去,它们被用作URI fragment identifier可以定位的可链接部分标识符。今天,我们使用id属性。

链接是具有a属性的area(或href)元素。它链接另一页或其上的锚。

document.linksdocument.anchors是该文档中相应元素的实时HTML集合。它们今天很少使用,getElementByIdquerySelectorAll(或各种选择器库)提供了更好的选择。 anchors甚至已被弃用,与horrible document.all类似。