Anchor tags are commonly used to link separate web pages, but they can also be used to link between different places in a single document, often within the table of contents or even launch external applications. This topic explains the implementation and application of HTML anchor tags in various roles
In this tutorial, you will learn about Anchors and Hyperlinks briefly.
Example:- To make text bold and italic;
This is The Pro Developer Link click to open the pro developer's
Note :- A link can be anything . It can be an image , text or any other HTML element.
Parameter | Details |
---|---|
href | Specify the destination address. It can be an absolute or relative URL or the name of an anchor. An absolute URL is the complete URL of a website like https://blog.theprodevelopers.com/. A relative URL points to an absolute URL is the complete URL of a website like https://blog.theprodevelopers.com/. A relative URL points to another directory and/or document inside the same website, e.g. /about-us/ points to the directory “about-us” inside the root directory (/). When pointing to another directory without explicitly specifying the document, web servers typically return the document “index.html” inside that directory. |
hreflang | Specifies the language of the resource linked by the href attribute (which must be present with this one). Use language values from BCP 47 for HTML5 and RFC 1766 for HTML 4 |
rel | Specifies the relationship between the current document and the linked document. For HTML5, the values must be defined in the specification or registered in the Microformats wiki. |
target | Specifies where to open the link, e.g. in a new tab or window. Possible values are _blank, _self, _parent, _top, and framename (deprecated). Forcing such behavior is not recommended since it violates the control of the user over a website. |
title | Specifies extra information about a link. The information is most often shown as a tooltip text when the cursor moves over the link. This attribute is not restricted to links, it can be used on almost all HTML tags. |
download | Specifies that the target will be downloaded when a user clicks on the hyperlink. The value of the attribute will be the name of the downloaded file. There are no restrictions on allowed values, and the browser will automatically detect the correct file extension and add it to the file (.img, .pdf, etc.). If the value is omitted, the original filename is used. |
This is the basic use of the <a> (anchor element) element:
It creates a hyperlink, to the URL http://blog.theprodevelopers.com/ as specified by the href (hypertext reference) attribute, with the anchor text "Link to blog.theprodevelopers.com". It would look something like the following:
<a href="https://blog.theprodevelopers.com/">Link to blog.theprodevelopers.com</a>
Info :- The href Specifies the destination address (e.g :- https://blog.theprodevelopers.com/ ) of Anchor .
To denote that this link leads to an external website, you can use the external link type:
<a href="ftp://blog.theprodevelopers.com/">This could be a link to a FTP site</a>
In this case, the difference is that this anchor tag is requesting that the user's browser connect to example.com using the File Transfer Protocol (FTP) rather than the Hypertext Transfer Protocol (HTTP).
Anchors can be used to jump to specific tags on an HTML page. The <a> tag can point to any element that has an id attribute. To learn more about IDs, visit the documentation about Classes and IDs. Anchors are mostly used to jump to a subsection of a page and are used in conjunction with header tags.
the following:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>anchor tag to link with in web page</title>
<style>
section {
padding: 45px;
text-align: center;
border: 1px solid;
}
a {
text-align: center;
display: block;
padding: 5px;
}
#another_sec{
border: 1px solid;
padding: 10px;
margin: 10px ;
}
</style>
</head>
<body>
<a href="#section-one">Click to jump on section one</a> <br>
<a href="#section-two">Click to jump on section two</a> <br>
<a href="#section-three">Click to jump on section three</a> <br>
<a href="#section-four">Click to jump on section four</a>
<a href="https://blog.theprodevelopers.com/#what" id="another_sec">Click open new site and jump on what section </a>
<section id="section-one">
<h2>section one </h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. </p>
</section>
<section id="section-two">
<h2>section two </h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Unde error, alias rerum voluptatem consectetur </p>
</section>
<section id="section-three">
<h2>section three </h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eligendi nostrum, neque nisi officiis ab id asperiores odit,</p>
</section>
<section id="section-four">
<h2>section four </h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Itaque officia magnam, iusto amet labore nemo distinctio, non, </p>
</section>
</body>
</html>
You can use a relative path to link to pages on the same website
<a href="/example">Text Here</a>
The above example would go to the file example at the root directory (/) of the server.
If this link was on http://example.com, the following two links would bring the user to the same location
<a href="/page">Text Here</a>
<a href="http://example.com/page">Text Here</a>
Both of the above would go to the page file at the root directory of example.com.
The link that dials a number
If the value of the href-attribute begins with tel: your device will dial the number when you click it. This works on mobile devices or on computers/tablets running software – like Skype or FaceTime – that can make phone calls
<a href="tel:11234567890">Call us</a>
Info :- Most devices and programs will prompt the user in some way to confirm the number they are about to dial.
<a href="example.com" target="_blank">Text Here</a>
The target attribute specifies where to open the link. By setting it to _blank, you tell the browser to open it in a new tab or window (per user preference)
SECURITY VULNERABILITY WARNING! :-
Using target="_blank" gives the opening site partial access to the window.opener object via JavaScript, which allows that page to then access and change the window.opener.location of your page and potentially redirect users to malware or phishing sites.
Whenever using this for pages you do not control, add rel="noopener"to your link to prevent the window.opener object from being sent with the request.
Currently, Firefox does not support noopener, so you will need to use rel="noopener noreferrer" for maximum effect.
Simply use the javascript: protocol to run the text as JavaScript instead of opening it as a normal link:
<script>
function myFunction(){ alert("this function is call by anchor tag"); }
</script>
<a href="javascript:myFunction();">Run Code</a>
You can also achieve the same thing using the onclick attribute:
<script>
function myFunction(){ alert("this function is call by anchor tag"); }
</script>
<a href="#" onclick="myFunction(); return false;">Run Code</a>
The return false; is necessary to prevent your page from scrolling to the top when the link to # is clicked. Make sure to include all code you'd like to run before it, as returning will stop the execution of further code
Note! :- Also noteworthy, you can include an exclamation mark !after the hashtag in order to prevent the page from scrolling to the top. This works because any invalid slug will cause the link to not scroll anywhere on the page, because it couldn't locate the element it references (an element with id="!"). You could also just use any invalid slug (such as #scrollsNowhere) to achieve the same effect. In this case, return falseis not required:
<a href="#!" onclick="myFunction();">Run Code</a>
Should you be using any of this ? :- The answer is almost certainly no. Running JavaScript inline with the element like this is fairly bad practice. Consider using pure JavaScript solutions that look for the element in the page and bind a function to it instead. Listening for an event ,
Also consider whether this element is really a button instead of a link. If so, you should use <button>
The link that runs email client
Basic usage
If the value of the href-attribute begins with mailto: it will try to open an email client on click:
<a href="mailto:contact@theprodevelopers.com">Send email</a>
This will put the email address contact@theprodevelopers.com as the recipient for the newly created email.
You can also add addresses for cc- or bcc-recipients using the following syntax:
<a href="mailto:contact@theprodevelopers.com?cc=john@example.com&bcc=jane@example.com">Send email</a>
You can populate the subject and body for the new email as well:
<a href="mailto:contact@theprodevelopers.com?subject=Example+subject&body=Message+text">Send email</a>
Those values must be URL encoded. Click here to know more
Info :- Clicking on a link with mailto: will try to open the default email client specified by your operating system or it will ask you to choose what client you want to use. Not all options specified after the recipient's address are supported in all email clients
download attribute sets the target to be downloaded instead of opened in the browser.
<a href="https://blog.theprodevelopers.com/img/logos/logo.png" download>Download image</a>