我有这样的链接
<a href="#login_form">Log in</a>
点击链接后,网址会从
更改 http:/domain.com
到
http://domain.com#login_form
并弹出登录表单。 但我不希望在网址中显示哈希标记。如何使用java脚本执行此操作?没有用于显示弹出的登录表单的java脚本。
登录表单是这样的。
<a href="#x" class="overlay" id="login_form"></a>
<div class="box">
<h2>LOG IN</h2>
<form name="login" action="" method="post">
</form>
</div>
行。这是JS FIDDLE。请检查。
答案 0 :(得分:2)
它被称为文档片段,而不是哈希标记,但是whatevs。
如果你说,“没有java脚本[用于显示登录表单”],我只能假设你使用CSS :target
伪类来切换可见性?在那种情况下,你无能为力。片段必须位于要显示的元素的URL中。
相反,请使用一些JavaScript为您进行切换。类似的东西:
<a href="javascript:void(document.getElementById('login_form').style.display = 'block');">Log in</a>
(警告:非常糟糕的例子,但它应该让一般的想法工作)
您需要使用id="login"
代替name="login"