空链接,a标签herf属性,href=“#” 或者 href=“javascript:void(0);” 或者href=“javascript:;“ 区别

576 阅读1分钟

我们在使用a标签的空链接时,通常写为 href=“#” 或者 href=“javascript:void(0);” 或者href="javascript:;"

# 包含了一个位置信息,默认的锚是 #top 也就是网页的上端。

如果#+几个#或乱写其他字符,在页面上找不到锚点就不会发生跳转

<!-- 如果页面上没有 id为## 和 a标签name属性为## 的话就不会发生跳转 -->
<a href="#biliMainFooter">#</a>
<!-- <a name="##">####</a> -->
<div style="width: 100%; height: 1000px;">sss</div>
<a href="javascript:;">空链接</a>
<a href="###">######</a>

# 的原理就是 再url后加上一个锚点信息发生跳转,因为是默认是本页所以不会刷新页面;如果我们配合base标签就可实现跳页定位

<!DOCTYPE html>
<html lang="">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <base href="https://www.bilibili.com/v/information/?spm_id_from=333.1007.0.0">
</head>
<body>
    <a href="#biliMainFooter">#</a>
    <div style="width: 100%; height: 1000px;">sss</div>
    <a href="javascript:;">空链接</a>
    <a href="###">######</a>
</body>
</html>

href=“javascript:void(0);” 和 href="javascript:;" 的区别

区别如下:

1、从执行效果来看

“javascript:;”直接返回undefined。“javascript:void(0);”要去执行一次表达式“0”,然后返回undefined。

2、性能上的区别:

javascript:void;会多一次表达式解析。

3、空间上区别:

“void(0);”比“;”多7个字符。

参考:

www.webkaka.com/tutorial/ht…

www.w3cschool.cn/javascript/…