a 标签的 href 属性的几种用法:
-
执行 JavaScript 代码
- a href="javascript:js_method();"
这是常用的方法,但是这种方法在传递 this 等参数的时候很容易出问题,而且 javascript:协议作为 a 的 href 属性的时候不仅会导致不必要的触发 window.onbeforeunload 事件,在 IE 里面更会使 gif 动画图片停止播放。W3C 标准不推荐在 href 里面执行 javascript 语句
- a href="javascript:void(0);" οnclick="js_method()"
这种方法是很多网站最常用的方法,也是最周全的方法,onclick 方法负责执行 js 函数,而 void 是一个操作符,void(0)返回 undefined,地址不发生跳转。而且这种方法不会像第一种方法一样直接将 js 方法暴露在浏览器的状态栏。
- a href="javascript:;" οnclick="js_method()"
这种方法跟跟 2 种类似,区别只是执行了一条空的 js 代码。
- a href="#" οnclick="js_method()"
这种方法也是网上很常见的代码,#是标签内置的一个方法,代表 top 的作用。所以用这种方法点击后网页后返回到页面的最顶端。
- a href="#" οnclick="js_method();return false;"
这种方法点击执行了 js 函数后 return false,页面不发生跳转,执行后还是在页面的当前位置。
综上所属,推荐以下的使用方式:
<a href="javascript:void(0);" οnclick="js_method()"></a>
<a href="javascript:;" οnclick="js_method()"></a>
<a href="#" οnclick="js_method();return false;"></a>
- 锚点 跳到页面的指定位置
href='#'表示跳转到页面的顶部
href='#某一个 id 名称' 表示跳转到页面的指定位置