单击url时如何加载id元素

时间:2016-08-31 00:51:21

标签: javascript jquery

当我点击定义如下的网址时,我想在ID内加载内容:/ route / #id。

当我在/ route /#id1和/ route#id2之间切换时,我现在所做的工作并不起作用。当我第一次点击链接时,它可以工作。 id元素出现。但是当我从同一页面切换到另一个URL时,id元素不会显示。它只显示一个空白页

网址

<li class="dropdown nav_about {$activeBrands}">BRANDS
    <ul class='sub-menu'>
        <li> <a href="{$rootDir}brands/#link1"> link1 </a></li>
        <li> <a href="{$rootDir}brands/#link2"> link2 </a>       </li>
    </ul> 
</li>

含量

<div id="link1" style="display:none;">
   content
</div>
<div id="link2" style="display:none;">
   content
</div>

脚本

<script>
$(function(){   
    var url = window.location.href;
    console.log(url);
    var urlId = url.match(/#.*/)[0];
    showDiv(urlId);

});
function showDiv(option){
    $(option).show();
}
</script>

1 个答案:

答案 0 :(得分:1)

您应该使用window.location.hash代替。

对于网址

http://www.domain.com/somepage?#asf1234

window.location.hash的值将为

#asf1234
  

请注意#是第一个字符