The HTMLAnchorElement interface represents hyperlink elements and provides special properties and methods (beyond those of the regular HTMLElement object interface that they inherit from) for manipulating the layout and presentation of such elements.
<div id="interfaceDiagram" style="display: inline-block; position: relative; width: 100%; padding-bottom: 20%; vertical-align: middle; overflow: hidden;"><svg style="display: inline-block; position: absolute; top: 0; left: 0;" viewbox="-50 0 600 120" preserveAspectRatio="xMinYMin meet"><a xlink:href="https://developer.mozilla.org/en-US/docs/Web/API/EventTarget" target="_top"><rect x="1" y="1" width="110" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="56" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">EventTarget</text></a><polyline points="111,25 121,20 121,30 111,25" stroke="#D4DDE4" fill="none"/><line x1="121" y1="25" x2="151" y2="25" stroke="#D4DDE4"/><a xlink:href="https://developer.mozilla.org/en-US/docs/Web/API/Node" target="_top"><rect x="151" y="1" width="75" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="188.5" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">Node</text></a><polyline points="226,25 236,20 236,30 226,25" stroke="#D4DDE4" fill="none"/><line x1="236" y1="25" x2="266" y2="25" stroke="#D4DDE4"/><a xlink:href="https://developer.mozilla.org/en-US/docs/Web/API/Element" target="_top"><rect x="266" y="1" width="75" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="303.5" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">Element</text></a><polyline points="341,25 351,20 351,30 341,25" stroke="#D4DDE4" fill="none"/><line x1="351" y1="25" x2="381" y2="25" stroke="#D4DDE4"/><a xlink:href="https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement" target="_top"><rect x="381" y="1" width="110" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="436" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">HTMLElement</text></a><polyline points="491,25 501,20 501,30 491,25" stroke="#D4DDE4" fill="none"/><line x1="501" y1="25" x2="509" y2="25" stroke="#D4DDE4"/><line x1="509" y1="25" x2="509" y2="90" stroke="#D4DDE4"/><line x1="509" y1="90" x2="492" y2="90" stroke="#D4DDE4"/><a xlink:href="https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement" target="_top"><rect x="321" y="65" width="170" height="50" fill="#F4F7F8" stroke="#D4DDE4" stroke-width="2px" /><text x="406" y="94" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">HTMLAnchorElement</text></a></svg></div>
a:hover text { fill: #0095DD; pointer-events: all;}
Properties
Inherits properties from its parent, HTMLElement, and implements those from HTMLHyperlinkElementUtils.
HTMLAnchorElement.accessKey- Is a
DOMStringrepresenting a single character that switches input focus to the hyperlink. HTMLAnchorElement.download- Is a
DOMStringindicating that the linked resource is intended to be downloaded rather than displayed in the browser. The value represent the proposed name of the file. If the name is not a valid filename of the underlying OS, browser will adapt it. HTMLHyperlinkElementUtils.hash- Is a
USVStringrepresenting the fragment identifier, including the leading hash mark ('#'), if any, in the referenced URL. HTMLHyperlinkElementUtils.host- Is a
USVStringrepresenting the hostname and port (if it's not the default port) in the referenced URL. HTMLHyperlinkElementUtils.hostname- Is a
USVStringrepresenting the hostname in the referenced URL. HTMLHyperlinkElementUtils.href- Is a
USVStringthat reflects thehrefHTML attribute, containing a valid URL of a linked resource. HTMLAnchorElement.hreflang- Is a
DOMStringthat reflects thehreflangHTML attribute, indicating the language of the linked resource. HTMLAnchorElement.media- Is a
DOMStringthat reflects themediaHTML attribute, indicating the intended media for the linked resource. HTMLHyperlinkElementUtils.password- Is a
USVStringcontaining the password specified before the domain name. HTMLHyperlinkElementUtils.originRead only- Returns a
USVStringcontaining the origin of the URL, that is its scheme, its domain and its port. HTMLHyperlinkElementUtils.pathname- Is a
USVStringrepresenting the path name component, if any, of the referenced URL. HTMLHyperlinkElementUtils.port- Is a
USVStringrepresenting the port component, if any, of the referenced URL. HTMLHyperlinkElementUtils.protocol- Is a
USVStringrepresenting the protocol component, including trailing colon (':'), of the referenced URL. HTMLAnchorElement.referrerPolicy- Is a
DOMStringthat reflects thereferrerpolicyHTML attribute indicating which referrer to use. HTMLAnchorElement.rel- Is a
DOMStringthat reflects therelHTML attribute, specifying the relationship of the target object to the linked object. HTMLAnchorElement.relListRead only- Returns a
DOMTokenListthat reflects therelHTML attribute, as a list of tokens. HTMLHyperlinkElementUtils.search- Is a
USVStringrepresenting the search element, including leading question mark ('?'), if any, of the referenced URL. HTMLAnchorElement.tabindex- Is a
longcontaining the position of the element in the tabbing navigation order for the current document. HTMLAnchorElement.target- Is a
DOMStringthat reflects thetargetHTML attribute, indicating where to display the linked resource. HTMLAnchorElement.text- Is a
DOMStringbeing a synonym for theNode.textContentproperty. HTMLAnchorElement.type- Is a
DOMStringthat reflects thetypeHTML attribute, indicating the MIME type of the linked resource. HTMLHyperlinkElementUtils.username- Is a
USVStringcontaining the username specified before the domain name.
Obsolete properties
HTMLAnchorElement.charset- Is a
DOMStringrepresenting the character encoding of the linked resource. HTMLAnchorElement.coords- Is a
DOMStringrepresenting a comma-separated list of coordinates. HTMLAnchorElement.name- Is a
DOMStringrepresenting the anchor name. HTMLAnchorElement.rev- Is a
DOMStringrepresenting that therevHTML attribute, specifying the relationship of the link object to the target object.Note: Currently the W3C HTML 5.2 spec states thatrevis no longer obsolete, whereas the WHATWG living standard still has it labeled obsolete. Until this discrepancy is resolved, you should still assume it is obsolete. HTMLAnchorElement.shape- Is a
DOMStringrepresenting the shape of the active area.
Methods
Inherits methods from its parent, HTMLElement, and implements those from HTMLHyperlinkElementUtils.
HTMLElement.blur()- Removes the keyboard focus from the current element.
HTMLElement.focus()- Gives the keyboard focus to the current element.
HTMLHyperlinkElementUtils.toString()- Returns a
USVStringcontaining the whole URL. It is a synonym forURLUtils.href, though it can't be used to modify the value.
The blur() and focus() methods are inherited from HTMLElement from HTML5 on, but were defined on HTMLAnchorElement in DOM Level 2 HTML and earlier specifications.
Specifications
| Specification | Status | Comment |
|---|---|---|
| Referrer Policy The definition of 'referrer attribute' in that specification. |
Candidate Recommendation | Added the referrer property. |
| HTML Living Standard The definition of 'HTMLAnchorElement' in that specification. |
Living Standard | The following property has been added: download.Technically, the URL-related properties, media, host, hostname, pathname, port, protocol, search, and hash, have been moved to the URLUtils interface, and HTMLAreaElement implements this interface. |
| HTML5 The definition of 'HTMLAnchorElement' in that specification. |
Recommendation | The methods blur() and focus(), as well as the properties tabindex and accessKey, are now defined on HTMLElement.The following properties are now obsolete: charset, coords, name, rev, and shape.The following properties have been added: hash, host, hostname, media, pathname, port, protocol, relList, search, and text. |
| Document Object Model (DOM) Level 2 HTML Specification The definition of 'HTMLAnchorElement' in that specification. |
Obsolete | No change from Document Object Model (DOM) Level 1 Specification. |
| Document Object Model (DOM) Level 1 Specification The definition of 'HTMLAnchorElement' in that specification. |
Obsolete | Initial definition. |
Browser compatibility
| Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| Basic support | Yes | Yes | 1 | Yes | Yes | Yes |
accessKey | Yes | Yes | 1 | Yes | Yes | Yes |
download | 14 | Yes | 20 | ? | 15 | ? |
hreflang | Yes | Yes | 1 | Yes | Yes | Yes |
media | Yes | Yes | 1 | Yes | Yes | Yes |
referrerPolicy | 51 | Yes | 50 | No | No | No |
rel | Yes | Yes | 1 | Yes | Yes | Yes |
relList | Yes | Yes | 1 | Yes | Yes | Yes |
tabindex | Yes | Yes | 1 | Yes | Yes | Yes |
target | Yes | Yes | 1 | Yes | Yes | Yes |
text | Yes | Yes | 1 | Yes | Yes | Yes |
type | Yes | Yes | 1 | Yes | Yes | Yes |
charset | Yes | Yes | 1 | Yes | Yes | Yes |
coords | Yes | Yes | 1 | Yes | Yes | Yes |
name | Yes | Yes | 1 | Yes | Yes | Yes |
rev | Yes | Yes | 1 | Yes | Yes | Yes |
shape | Yes | Yes | 1 | Yes | Yes | Yes |
| Feature | Android webview | Chrome for Android | Edge mobile | Firefox for Android | Opera Android | iOS Safari | Samsung Internet |
|---|---|---|---|---|---|---|---|
| Basic support | Yes | Yes | Yes | 4 | Yes | Yes | ? |
accessKey | Yes | Yes | Yes | 4 | Yes | Yes | ? |
download | 14 | 14 | Yes | ? | ? | ? | ? |
hreflang | Yes | Yes | Yes | 4 | Yes | Yes | ? |
media | Yes | Yes | Yes | 4 | Yes | Yes | ? |
referrerPolicy | 51 | 51 | ? | 50 | Yes | No | ? |
rel | Yes | Yes | Yes | 4 | Yes | Yes | ? |
relList | Yes | Yes | Yes | 4 | Yes | Yes | ? |
tabindex | Yes | Yes | Yes | 4 | Yes | Yes | ? |
target | Yes | Yes | Yes | 4 | Yes | Yes | ? |
text | Yes | Yes | Yes | 4 | Yes | Yes | ? |
type | Yes | Yes | Yes | 4 | Yes | Yes | ? |
charset | Yes | Yes | Yes | 4 | Yes | Yes | ? |
coords | Yes | Yes | Yes | 4 | Yes | Yes | ? |
name | Yes | Yes | Yes | 4 | Yes | Yes | ? |
rev | Yes | Yes | Yes | 4 | Yes | Yes | ? |
shape | Yes | Yes | Yes | 4 | Yes | Yes | ? |
See also
- The HTML element implementing this interface:
<a>