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 名稱' 表示跳轉到頁面的指定位置