href="javascript:void(0)"

自己亲自测了以下:
<a href="javascript:void(0) " onclick="on(this)">链接</a>:先执行on函数,页面不动

<a href="#" onclick="on(this)">链接</a>:先执行on函数,回到顶部
<a href="https://www.baidu.com" onclick="on(this)">链接</a>:先执行on函数,再跳到百度首页
补充 <a href="javascript:fun();":调到fun函数中



以下是网友总结:
javascript:是伪协议,表示url的内容通过javascript执行。
void(0)表示不作任何操作,这样会防止链接跳转到其他页面。
这么做往往是为了保留链接的样式,但不让链接执行实际操作,具体的操作交给链接的onclick事件处理


void(0) 是一段javascript代码,返回值是undefined,href='javascript:undefined'的时候也就是你点了链接,
但什么也不做。之所以这么写,是同js给这个<a>增加onclick事件,
去做为一个链接。这样的好处是,鼠标经过链接的时候是手型,而且用户并不知道这个链接执行的是什么。

<a href="#" onclick="window.close()">关闭</a>
将href="#"是指联接到当前页面,其实是无意义的,页面也不会刷新,关键是后面的onclick,当点击“关闭”时,会执行window.close()代码。

你或许会说为什么不直接写成<a onclick="window.close()">关闭</a>
如果这样写,关闭这两个字就不会作为超联接处理,效果看上去会差一些。你可以自己试试。

我来详细告诉你javascript:void(0) 代表些链接无返回值,通常用于如:

<a href="javascript:void(0) " onclick="on(this)">链接</a>
执行onclick事件并无返回值,页面不会产品变动.不加这个的话,你一点就会回到顶端。
补充 <a href="javascript:fun();"
这样点击就执行fun()函数了
原文地址:https://www.cnblogs.com/beijingstruggle/p/5891064.html