为什么在href中使用javascript:void(0)而不是#?

为什么在href中使用javascript:void(0)而不是#?,javascript,Javascript,我可以在html页面上看到很多。据我所知,返回undefined,它不起任何作用。这与有何不同?可能会跳转到页面中的其他位置。此外,它还修改URL <a href="#">link</a> 将#添加到浏览器url并跳到页面顶部 <a href="javascript:void(0);">link</a> 简单地“忽略”链接点击 <a href="#" onclick="return false;">link</a>

我可以在html页面上看到很多
。据我所知,返回
undefined
,它不起任何作用。这与

有何不同?
可能会跳转到页面中的其他位置。此外,它还修改URL


<a href="#">link</a>
将#添加到浏览器url并跳到页面顶部

<a href="javascript:void(0);">link</a>

简单地“忽略”链接点击

<a href="#" onclick="return false;">link</a>

也会忽略href

不要忘记,在某些情况下,javascript可能会被禁用(非常罕见)。

href=“javascript:void(0);
适用于您不希望它做任何事情,但仍然看起来像链接的情况。(蓝色和下划线)

就像:
javascript:returnundefined;

为什么?

因为有人可能会这样做:
undefined=function(){}


#
-是一个锚,它会将您发送到页面顶部。

#
跳到页面顶部。#在Firefox和chrome等现代浏览器中链接。这会导致页面查找可用链接(如果不可用,则跳到顶部)在页面中,滚动到区域。但是Void不执行任何操作。与此相关的另一个问题是:不在中包含href属性如何?例如,vs修改url是可以的,但跳转不是。如果只是“#“那么跳到页面的顶端了,是吗?我很困惑,你的评论有点不一致。你说跳转不好,然后跳转到页面顶部。我不明白,这就是为什么我们使用javascript:void(0)不构成jumpMate,你失去了情节…看起来你是在另一个对话中添加:
void 0
本质上是
未定义的
-这就是为什么浏览器什么都不做。可能类似于
href=“\
还应避免使用
onclick=“return false;”“
,因为这很显眼!
<a href="javascript:void(0);">link</a>