How do you link (with <a>) so that the browser goes to certain subheading on the target page as opposed to the top?
- 14,735
- 16
- 96
- 147
- 34,957
- 46
- 126
- 166
7 Answers
If there is any tag with an id (e.g., <div id="foo">), then you can simply append #foo to the URL. Otherwise, you can't arbitrarily link to portions of a page.
Here's a complete example: <a href="http://example.com/page.html#foo">Jump to #foo on page.html</a>
Linking content on the same page example: <a href="#foo">Jump to #foo on same page</a>
It is called a URI fragment.
- 2,801
- 3
- 15
- 25
- 53,439
- 13
- 112
- 113
-
so do you use the complete example or the same page example? isn't the complete example the same thing? – akantoword May 19 '16 at 21:02
-
2if we had a restful page with url like : `domain.com/#home?page=1` how to use an id in href? – iraj jelodari Sep 14 '16 at 08:15
-
1@irajjelodari You'd put the hash at the end: `domain.com/?page=1#home` – tomsmeding Nov 15 '16 at 15:53
-
i had to use 2 hashtags in the url like : `example.com/#RouteName?page=1#ID`. one for routing and one for navigation inside of current page. finally i used html5 mode of URL in order to removing route hashtags ;) @tomsmeding – iraj jelodari Nov 19 '16 at 15:20
-
@Daniel sir ,I am having a similar situation, What to do if the `#foo` element is in hidden condition? – Apr 13 '19 at 08:32
-
is there a way to do this with a class that is only used once? – Chagai Friedlander Dec 23 '19 at 22:36
-
The blog platform Medium.com seems to ignore the hash, but it works with a slash before the hash. (n=1, but I have no reason to think it will be different for other posts/blogs on the same platform.) – Elias Hasle Jun 04 '21 at 10:39
You use an anchor and a hash. For example:
Target of the Link:
<a name="name_of_target">Content</a>
Link to the Target:
<a href="#name_of_target">Link Text</a>
Or, if linking from a different page:
<a href="http://path/to/page/#name_of_target">Link Text</a>
- 90,931
- 15
- 133
- 196
-
13The broser will also jump to any element with the id `name_of_target`. You need not use an `` tag as the target. So another target could be `
Content
`. – Cyrille Oct 16 '14 at 21:52 -
11
-
3Just to clarify Tim's comment, fragment links and empty "a" tags are still current in HTML5. Using the "name" tag is deprecated, replaced by "id." https://html.spec.whatwg.org/multipage/browsing-the-web.html#navigate – melds Jul 26 '21 at 21:18
Just append a hash with an ID of an element to the URL. E.g.
<div id="about"></div>
and
http://mysite.com/#about
So the link would look like:
<a href="http://mysite.com/#about">About</a>
or just
<a href="#about">About</a>
- 756,363
- 169
- 1,062
- 1,111
On 12 March 2020, a draft has been added by WICG for Text Fragments, and now you can link to text on a page as if you were searching for it by adding the following to the hash
#:~:text=<Text To Link to>
Working example on Chrome Version 81.0.4044.138:
Click on this link Should reload the page and highlight the link's text
- 2,704
- 1
- 24
- 40
Here is how:
<a href="#go_middle">Go Middle</a>
<div id="go_middle">Hello There</div>
- 367,681
- 72
- 526
- 573
You have two options:
You can either put an anchor in your document as follows:
<a name="ref"></a>
Or else you give an id to a any HTML element:
<h1 id="ref">Heading</h1>
Then simply append the hash #ref to the URL of your link to jump to the desired reference. Example:
<a href="document.html#ref">Jump to ref in document.html</a>
- 326,724
- 71
- 495
- 436
Provided that any element has the id attribute on a webpage. One could simply link/jump to the element that is referenced by the tag.
Within the same page:
<div id="markOne"> ..... </div>
......
<a href="#markOne">Jump to markOne</a>
Other page:
<div id="http://randomwebsite.com/mypage.html#markOne">
Jumps to the markOne element in the mypage of the linked website
</div>
The targets don't necessarily have an anchor element.
You can go check this fiddle out.
- 19
- 2