href 表达式<a href=“javascript:;”></a>做什么?

2022-08-30 00:15:49

我不时在网页中看到以下href。但是,我不明白这是在试图做什么或技术。有人可以详细说明吗?

<a href="javascript:;"></a>

答案 1

元素是无效的 HTML,除非它具有 or 属性。<a>hrefname

如果您希望它正确呈现为链接(即下划线,指针等),那么它只有在具有属性时才会这样做。href

因此,像这样的代码有时被用作建立链接的一种方式,但不必在属性中提供实际的URL。开发人员显然希望链接本身不做任何事情,这是他所知道的最简单的方法。href

他可能在其他地方有一些javascript事件代码,当链接被点击时会触发,这将是他希望实际发生的事情,但他希望它看起来像一个普通的标签链接。<a>

一些开发人员使用相同的目的,但这会导致浏览器跳转到页面顶部,这可能是不需要的。而且他不能简单地将href留空,因为这是返回当前页面的链接(即它会导致页面刷新)。href='#'href=''

有办法解决这些问题。在 中使用一段空的Javascript代码就是其中之一,尽管它不是最好的解决方案,但它确实有效。href


答案 2

基本上,使用此方法不是使用链接来移动页面(或锚点),而是启动javascript函数。

<script>
function doSomething() {
  alert("hello")
}
</script>
<a href="javascript:doSomething();">click me</a>

单击该链接将触发警报。