HTML - how to make an entire DIV a hyperlink?

HtmlXhtmlHyperlink

Html Problem Overview


How do I make an entire DIV a clickable hyperlink. Meaning, I essentially want to do:

<div class="myclass" href="example.com">
    <div>...</div>
    <table><tr>..</tr></table>
    ....
</div>

And whenever someone mouse hovers of the myclass DIV, I want the entire DIV it to be a clickable hyperlink.

Html Solutions


Solution 1 - Html

You can add the onclick for JavaScript into the div.

<div onclick="location.href='newurl.html';">&nbsp;</div>

EDIT: for new window

<div onclick="window.open('newurl.html','mywindow');" style="cursor: pointer;">&nbsp;</div>

Solution 2 - Html

You can put an <a> element inside the <div> and set it to display: block and height: 100%.

Solution 3 - Html

You just need to specify the cursor as a pointer, not a hand, as pointer is now the standard, so, here's the example page code:

<div onclick="location.href='portable-display-stands.html';" id="smallbox">The content of the div here</div>

and the example CSS:

#smallbox {
	cursor: pointer;
}

So the div is now a clickable element using 'onclick' and you've faked the hand cursor with the CSS...job done, works for me!

Solution 4 - Html

This is a late answer, but this question appears highly on search results so it's worth answering properly.

Basically, you shouldn't be trying to make a div clickable, but rather make an anchor div-like by giving the <a> tag a display: block CSS attribute.

That way, your HTML remains semantically valid and you can inherit the typical browser behaviours for hyperlinks. It also works even if javascript is disabled / js resources don't load.

Solution 5 - Html

Solution 6 - Html

Why don't you just do this

<a href="yoururl.html"><div>...</div></a>

That should work fine and will prompt the "clickable item" cursor change, which the aforementioned solution will not do.

Solution 7 - Html

alternative would be javascript and forwarding via the onclick event

<div onclick="window.location.href='somewhere...';">...</div>

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionTeddykView Question on Stackoverflow
Solution 1 - HtmlJoel EthertonView Answer on Stackoverflow
Solution 2 - HtmlSLaksView Answer on Stackoverflow
Solution 3 - HtmlNick AnniesView Answer on Stackoverflow
Solution 4 - HtmlJimmy Breck-McKyeView Answer on Stackoverflow
Solution 5 - HtmlKeith AdlerView Answer on Stackoverflow
Solution 6 - HtmlcfgView Answer on Stackoverflow
Solution 7 - HtmltDoView Answer on Stackoverflow