首页 > 解决方案 > 如何使用 JavaScript 中的 href 值转到链接?

问题描述

由于设计考虑,我不能在元素周围放置 Anchor 标签,但我可以向这些元素添加点击事件。

如何正确点击链接?

以前的代码:

<a href="Page1.html">
   <button>Page 1</button>
</a>

新代码:

<button onclick="document.location.href= 'Page1.html'">Page 1</button>

使用上面的代码在本地进行测试,我来自:

file://directory/to/home.html

file://Page1.html

但该页面位于同一目录中:

file://directory/to/Page1.html

换句话说,我必须在不能使用锚标签的情况下继续,但尽我所能来表示它。

我应该添加带有页面位置的标题以显示目标位置吗?将鼠标悬停在链接上时,有没有办法模拟页脚中显示的位置?

标签: javascripthtml

解决方案


请改用相对路径:

<button onclick="document.location.href='./Page1.html'">Page 1</button>

更好的是,使用 Javascript 正确附加侦听器,因为内联处理程序通常被认为是非常糟糕的做法,并且存在范围和转义问题:

document.querySelector('button').addEventListener('click', () => {
  window.location.href = './Page1.html';
});

您可以使用类似的语法向上导航,而无需一直返回根目录。例如

window.location.href = '../Page1.html';

运行时

file://directory/to/home.html

会带你去

file://directory/home.html

推荐阅读