jQuery如果是url hash,请单击event/activate javascript

Ale*_*ous 6 javascript url jquery

因此,从主页,我有一个链接到产品列表页面.产品页面具有展开/折叠div.

我需要根据url#来扩展相应的div.

所以主页上的链接是

<a href="/out-products.php#healthysnacks">healthy snacks</a>
Run Code Online (Sandbox Code Playgroud)

当我点击上面的链接时,我试图在产品页面上激活它:

<a href="javascript:ReverseDisplay('products4')" id="healthysnacks"> Healthy Snacks</a>
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一些其他代码,我发现触发点击通过检查哈希标签,但没有一个正常工作,我认为这是因为ReverseDisplay js.请有任何见解会有所帮助.

谢谢

nbr*_*oks 6

您可以在产品页面的文档就绪功能中进行以下更改:

简单修复:由于jQuery id-selector是#elementId,您可以简单地使用该window.location.hash值作为您的id选择器,并使用它来定位所需的元素.

if ( window.location.hash ) {
    $(window.location.hash).click(); //clicks on element specified by hash
}
Run Code Online (Sandbox Code Playgroud)

更好:除了上述内容之外,请从标记中取出js.

$('#healthysnacks').click(function(e) {
    e.preventDefault();
    ReverseDisplay('products4');
});
Run Code Online (Sandbox Code Playgroud)

然后,执行此操作后,使用$(window.location.hash).click()上面的代码.另外,将您的链接更改为:

<a href="#" id="healthysnacks"> Healthy Snacks</a>
Run Code Online (Sandbox Code Playgroud)