文档:锚点属性

已弃用: 不再推荐使用此功能。尽管某些浏览器可能仍然支持它,但它可能已从相关的 Web 标准中删除,可能正在被删除,或者可能仅出于兼容性目的而保留。避免使用它,并在可能的情况下更新现有代码;请参阅此页面底部的兼容性表格 以指导您的决策。请注意,此功能可能随时停止工作。

Document 接口的anchors 只读属性返回文档中所有锚点的列表。

示例

js
if (document.anchors.length >= 5) {
  console.log("found too many anchors");
}

以下是一个示例,它使用页面上的每个锚点自动填充目录

html
<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Test</title>
    <script>
      function init() {
        const toc = document.getElementById("toc");
        for (const anchor of document.anchors) {
          const li = document.createElement("li");
          const newAnchor = document.createElement("a");
          newAnchor.href = "#" + anchor.name;
          newAnchor.textContent = anchor.text;
          li.appendChild(newAnchor);
          toc.appendChild(li);
        }
      }
    </script>
  </head>
  <body onload="init()">
    <h1>Title</h1>
    <h2><a name="contents">Contents</a></h2>
    <ul id="toc"></ul>

    <h2><a name="plants">Plants</a></h2>
    <ol>
      <li>Apples</li>
      <li>Oranges</li>
      <li>Pears</li>
    </ol>

    <h2><a name="veggies">Veggies</a></h2>
    <ol>
      <li>Carrots</li>
      <li>Celery</li>
      <li>Beats</li>
    </ol>
  </body>
</html>

在 JSFiddle 上查看

注释

出于向后兼容性的原因,返回的锚点集仅包含使用name 属性创建的锚点,而不包含使用id 属性创建的锚点。

规范

规范
HTML 标准
# dom-document-anchors

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。