如果URL包含ID,则触发jQuery

Dov*_*ine 2 html javascript jquery

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

有没有一种方法可以使用jQuery检查div ID是否通过网址传递,并触发点击?与[非实际代码]类似:

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

Tro*_*ott 6

您可以检查是否window.location.hash属实。

if (window.location.hash) {
      // do something here
}
Run Code Online (Sandbox Code Playgroud)


dfs*_*fsq 6

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

section:target {
    display: block;
}
Run Code Online (Sandbox Code Playgroud)

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

section:target {
    display: block;
}
Run Code Online (Sandbox Code Playgroud)
div {display: none;}
div:target {display: block;}
Run Code Online (Sandbox Code Playgroud)