首页 > 代码库 > 【转】href="#"与"javascript:void(0);"的区别

【转】href="#"与"javascript:void(0);"的区别

在工作中,如果我们想把a标签中的链接置成空链接,我们一般会用两种方法:
1
<a href=http://www.mamicode.com/"#" target="_blank"></a>
或者
1
<a href=http://www.mamicode.com/"javascript:void(0);" target="_blank"></a>
以上两种方法很多人都认为是空链接的方法,但是这两种方法是有区别的,到底有什么区别呢?今天我们来聊一下。

href="http://www.mamicode.com/#"方法:

其实也是空连接的意思,但是点击之后会自动跳转到页面的最上面,因为用了这个方法就相当于点击了一个锚记,但是这个锚记又没写ID,所以就默认跳转到页面顶部。

href="javascript:void(0);"方法:

void是一个操作符,这个操作符指定要计算一个表达式但是不返回值。如果在void中写入0(void(0)),则什么也不执行,从而也就形成了一个空链接。

#与javascript:void(0)的区别:

所以,#与javascript:void(0)的区别也很明显,#方法会跳转到页面的顶部,并且在页面URL后面会出现#,而javascript:void(0)方法不会,所以如果是空连接的话,还是推荐javascript:void(0)。
 
 

详解href="http://www.mamicode.com/#"与href="javascript:void(0)"的区别

"#"包含了一个位置信息
默认的锚点是#top 也就是网页的上端
而javascript:void(0) 仅仅表示一个死链接
这就是为什么有的时候页面很长浏览链接明明是#可是跳动到了页首
而javascript:void(0) 则不是如此
所以调用脚本的时候最好用void(0)

【转】href="#"与"javascript:void(0);"的区别