type.propertyIsEnumerable() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/propertyIsEnumerable)
    8. [ ` Object.prototype.toLocaleString() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toLocaleString)
    9. [ ` Object.prototype.toString() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString)
    10. [ ` Object.prototype.valueOf() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf)

##  In this article

  * Syntax 
  * Examples 
  * Specifications 
  * Browser compatibility 
  * See also 

#  String.prototype.anchor()

**Deprecated:** This feature is no longer recommended. Though some browsers
might still support it, it may have already been removed from the relevant web
standards, may be in the process of being dropped, or may only be kept for
compatibility purposes. 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.

The **` anchor() ` ** method of [ ` String ` ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/String) values creates a
string that embeds this string in an [ ` <a> ` ](/en-
US/docs/Web/HTML/Element/a) element with a name ( ` <a name="...">str</a> ` ).

**Note:** All [ HTML wrapper methods ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/String#html_wrapper_methods)
are deprecated and only standardized for compatibility purposes. Use [ DOM
APIs ](/en-US/docs/Web/API/Document_Object_Model) such as [ `
document.createElement() ` ](/en-US/docs/Web/API/Document/createElement)
instead.

The HTML specification no longer allows the [ ` <a> ` ](/en-
US/docs/Web/HTML/Element/a) element to have a ` name ` attribute, so this
method doesn't even create valid markup.

##  Syntax

js

    
    
    anchor(name)
    

###  Parameters

` name `

    

A string representing a ` name ` value to put into the generated ` <a
name="..."> ` start tag.

###  Return value

A string beginning with an ` <a name="name"> ` start tag (double quotes in `
name ` are replaced with ` &quot; ` ), then the text ` str ` , and then an `
</a> ` end tag.

##  Examples

###  Using anchor()

The code below creates an HTML string and then replaces the document's body
with it:

js

    
    
    const contentString = "Hello, world";
    
    document.body.innerHTML = contentString.anchor("hello");
    

This will create the following HTML:

html

    
    
    <a name="hello">Hello, world</a>
    

**Warning:** This markup is invalid, because ` name ` is no longer a valid
attribute of the [ ` <a> ` ](/en-US/docs/Web/HTML/Element/a) element.

Instead of using ` anchor() ` and creating HTML text directly, you should use
DOM APIs such as [ ` document.createElement() ` ](/en-
US/docs/Web/API/Document/createElement) . For example:

js

    
    
    const contentString = "Hello, world";
    const elem = document.createElement("a");
    elem.innerText = contentString;
    document.body.appendChild(elem);
    

##  Specifications

Specification  
---  
[ ECMAScript Language Specification  
#  sec-string.prototype.anchor
](https://tc39.es/ecma262/multipage/additional-ecmascript-features-for-web-
browsers.html#sec-string.prototype.anchor)  
  
##  Browser compatibility

BCD tables only load in the browser  with JavaScript enabled. Enable
JavaScript to view data.

##  See also

  * [ Polyfill of ` String.prototype.anchor ` in ` core-js ` ](https://github.com/zloirock/core-js#ecmascript-string-and-regexp)
  * [ HTML wrapper methods ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/String#html_wrapper_methods)
  * [ ` <a> ` ](/en-US/docs/Web/HTML/Element/a)

##  Help improve MDN

Was this page helpful to you?

Yes  No

[ Learn how to contribute
](https://github.com/mdn/content/blob/main/CONTRIBUTING.md "This will take you
to our contribution guidelines on GitHub.") .

This page was last modified on  Sep 15, 2023  by  [ MDN contributors ](/