實例
<a href="http://www.w3school.com.cn"
>W3School</a>
<a> 標簽的 href 屬性用於指定超鏈接目標的 URL。
href 屬性的值,可以是任何有效文檔的相對URL或絕對 URL,包括片段標識符和 JavaScript 代碼段。
如果用戶選擇了 <a> 標簽中的內容,那么瀏覽器會嘗試檢索並顯示 href 屬性指定的 URL 所表示的文檔,或者執行 JavaScript 表達式、方法和函數的列表。
1. 相對URL
2. 絕對URL
3. 片段標識符
4. JavaScript代碼段
對應屬性值的幾種用法:
一、
<a>中href="#"表示回到最頂部。
如果當前頁面中需要滾動的話,那么用這種方式就可以直接回到頂部。
比如有些網站會在右下角制作一個圖標按鈕,回到頂部,那么可以考慮用這種最簡單的方式實現。
二、
1、URL為絕對URL
此時指向另一個站點,比如href="http://write.blog.csdn.net",那么點擊時就會直接跳轉到這個鏈接的頁面。
2、URL為相對URL
此時指向站點內的某個文件,比如href="/test.doc",那么點擊時就會直接下載文件。
3、錨 URL
此時指向頁面中的錨,比如href="#top",那么點擊時就會到當前頁面中id="top"的這個錨點,實現當前頁面的所謂跳轉。
用的最多就是在可滾動頁面中,添加菜單,可以直接回到頁面中的某個部分的內容。
三、調用js
1、a href="javascript:js_method();"
這是常用的方法,但是這種方法在傳遞this等參數的時候很容易出問題,而且javascript:協議作為a的href屬性的時候,不僅會導致不必要的觸發window.onbeforeunload事件,在IE里面更會使gif動畫圖片停止播放。W3C標准不推薦在href里面執行javascript語句
2、 a href="javascript:void(0);" onclick="js_method()"
這種方法是很多網站最常用的方法,也是最周全的方法,onclick方法負責執行js函數,而void是一個操作符,void(0)返回undefined,地址不發生跳轉。而且這種方法不會像第一種方法一樣直接將js方法暴露在瀏覽器的狀態欄
3、a href="javascript:;" onclick="js_method()"
這種方法跟跟2種類似,區別只是執行了一條空的js代碼。
注意:這種方法在頁面點擊右鍵,從新的標簽頁打開只會出現about:blank
4、a href="#" onclick="js_method()"
這種方法也是網上很常見的代碼,#是標簽內置的一個方法,代表top的作用。所以用這種方法點擊后網頁后返回到頁面的最頂端
5、a href="#" onclick="js_method();return false;"
這種方法點擊執行了js函數后return false,頁面不發生跳轉,執行后還是在頁面的當前位置。