How can you check for a #hash in a URL using JavaScript?

Philip Morton picture Philip Morton · Nov 18, 2008 · Viewed 652.9k times · Source

I have some jQuery/JavaScript code that I want to run only when there is a hash (#) anchor link in a URL. How can you check for this character using JavaScript? I need a simple catch-all test that would detect URLs like these:

  • example.com/page.html#anchor
  • example.com/page.html#anotheranchor

Basically something along the lines of:

if (thereIsAHashInTheUrl) {        
    do this;
} else {
    do this;
}

If anyone could point me in the right direction, that would be much appreciated.

Answer

Gareth picture Gareth · Nov 18, 2008

Simple:

if(window.location.hash) {
  // Fragment exists
} else {
  // Fragment doesn't exist
}