如果URL包含ID,则触发jQuery

时间:2015-04-26 21:09:49

标签: javascript jquery html

我在网站上有几个使用隐藏div的页面,这些div在单击部分链接时显示(使用id=sectionname)。但是,如果有人直接访问mysite.com/#sectionname,除非此人点击该链接,否则该部分将保持隐藏状态。

有没有办法使用jQuery来检查div是否通过url传递,并触发点击? [不是实际代码]的东西:

if ('# is in url') {
     $('#-characters-until-?').trigger("click");
}

3 个答案:

答案 0 :(得分:6)

您可以查看window.location.hash是否真实。

if (window.location.hash) {
      // do something here
}

答案 1 :(得分:5)

您也可以使用纯CSS代替javascript来显示默认部分。例如:

section:target {
    display: block;
}

此规则使用:target选择器选择ID与当前location.hash匹配的元素。因此,如果网址为mysite.com/#sectionname,则上述规则将显示带有section#sectionname的元素。



div {display: none;}
div:target {display: block;}

<a href="#test">test</a> <a href="#rest">rest</a>

<div id="test">TEST div</div>
<div id="rest">REST div</div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

var hash_link = location.hash;

//hash_link will return the id in the URL example: #myid

if(hash_link == '#myid'){
   //Do something
}

[W3schools] https://www.w3schools.com/jsref/prop_loc_hash.asp