Deprecated since HTML5
This feature has been removed from the Web standards. Though some browsers may still support it, it is in the process of being dropped. Avoid using it and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

anchors returns a list of all of the anchors in the document.


nodeList = document.anchors;


if ( document.anchors.length >= 5 ) {
  dump("dump found too many anchors");
  window.location = "";

The following is an example that auto populates a Table of Contents div with every anchor on the page:

<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8" />
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;

<body onload="init()">

<h2><a name="contents">Contents</a></h2>
<ul id="toc"></ul>

<h2><a name="plants">Plants</a></h2>

<h2><a name="veggies">Veggies</a></h2>


View on JSFiddle


For reasons of backwards compatibility, the returned set of anchors only contains those anchors created with the name attribute, not those created with the id attribute.


Specification Status Comment
WHATWG HTML Living Standard
The definition of 'Document.anchors' in that specification.
Living Standard Obsoleted.
Document Object Model (DOM) Level 2 HTML Specification
The definition of 'Document.anchors' in that specification.
Recommendation Initial definition.

Document Tags and Contributors

 Last updated by: cvrebert,