非推奨
この機能はウェブ標準から削除されました。まだ対応しているプラウザーがあるかもしれませんが、ゆくゆくはなくなるものです。使用を避け、できれば既存のコードを更新してください。このページの下部にあるブラウザーの対応を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

anchorsDocument インターフェイスの読み取り専用のプロパティで、文書中のすべてのアンカーのリストを返します。

構文

nodeList = document.anchors;

HTMLCollection です。

if ( document.anchors.length >= 5 ) {
  dump("dump found too many anchors");
  window.location = "http://www.google.com";
}

文書中のアンカーを基に目次を作成して文書に挿入する例を以下に示します。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Test</title>
<script>
function init() {
  var toc = document.getElementById("toc"); 
  var i, li, newAnchor;
  for (i = 0; i < document.anchors.length; i++) {
    li = document.createElement("li");
    newAnchor = document.createElement('a');
    newAnchor.href = "#" + document.anchors[i].name;
    newAnchor.innerHTML = document.anchors[i].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 Living Standard
Document.anchors の定義
現行の標準 廃止
Document Object Model (DOM) Level 2 HTML Specification
Document.anchors の定義
廃止された 初回定義

ブラウザーの対応

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOS 版 SafariSamsung Internet
基本対応
非推奨
Chrome 完全対応 ありEdge ? Firefox 完全対応 ありIE ? Opera ? Safari ? WebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile ? Firefox Android 完全対応 ありOpera Android ? Safari iOS ? Samsung Internet Android ?

凡例

完全対応  
完全対応
実装状況不明  
実装状況不明
非推奨。新しいウェブサイトでは使用しないでください。
非推奨。新しいウェブサイトでは使用しないでください。

ドキュメントのタグと貢献者

タグ: 
このページの貢献者: mfuji09, wbamberg, satour, fscholz, khalid32, ethertank, DR, Okome
最終更新者: mfuji09,