我在网站上有几个使用隐藏div的页面,这些div在单击部分链接时显示(使用id=sectionname
)。但是,如果有人直接访问mysite.com/#sectionname,除非此人点击该链接,否则该部分将保持隐藏状态。
有没有办法使用jQuery来检查div是否通过url传递,并触发点击? [不是实际代码]的东西:
if ('# is in url') {
$('#-characters-until-?').trigger("click");
}
答案 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;
答案 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