Javascript 带有window.location.hash帮助的if函数

Javascript 带有window.location.hash帮助的if函数,javascript,window.location,Javascript,Window.location,我有一个函数,可以更改url中的哈希值,并在主页上插入/删除div。我这样做是为了让我有一个页面,你可以在不重新加载的情况下操作,但同时我希望人们能够将某个部分添加到书签中,然后再转到它,而不必再次浏览页面 当我尝试调用我的hash()函数时,它会关闭所有div并根据哈希打开特定div,但它不起作用。我可能在if语句中没有正确的东西,因为当我在hash()函数中放入alert()时,它会像预期的那样弹出 function hash(){ if ( window.location.hash

我有一个函数,可以更改url中的哈希值,并在主页上插入/删除div。我这样做是为了让我有一个页面,你可以在不重新加载的情况下操作,但同时我希望人们能够将某个部分添加到书签中,然后再转到它,而不必再次浏览页面

当我尝试调用我的
hash()
函数时,它会关闭所有div并根据哈希打开特定div,但它不起作用。我可能在
if
语句中没有正确的东西,因为当我在
hash()
函数中放入
alert()
时,它会像预期的那样弹出

function hash(){
    if ( window.location.hash == "dcontact" ) { 
        removedivs();
        InsertContent('dcontact');
    }
    if ( window.location.hash == "dhome" ) {
       removedivs();
       InsertContent('dhome');
    }
}
hash();

我知道可能有更好的方法来完成我提到的每一件事,但这是我将要制作的唯一网站,只要它能工作,我就不在乎脚本最终有多混乱。

它不能工作的原因是实际的散列(在美国,我想你称它为一磅)符号-#在window.location.hash的开头

从内存IE不会在其上放置哈希符号,因此请执行以下操作:

function hash() {
    var hash = window.location.hash.replace('#','');

    if (hash == "dcontact"){removedivs(); InsertContent('dcontact');}
    if (hash == "dhome"){removedivs(); InsertContent('dhome');}  
}

您也可以考虑只调用插入内容(hash),而不是对每个具有

的不同链接做If()。