1. 程式人生 > >a標籤中href=""的用法詳解

a標籤中href=""的用法詳解

      眾所周知,a標籤的最重要功能是實現超連結和錨點。而且,大多數人認為a標籤最重要的作用是實現超連結,今天我剛好碰到a標籤的一種寫法<a href="JavaScript:;"></a>,所以就來整理下a標籤中href的幾種用法。

一、Js的幾種呼叫方法(參考總結的)

s_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程式碼。

      4、a href="#" onclick="js_method()"

       這種方法也是網上很常見的程式碼,#是標籤內建的一個方法,代表top的作用。所以用這種方法點選後網頁後返回到頁面的最頂端。

     5、a href="#" onclick="js_method();return false;"


       這種方法點選執行了js函式後return false,頁面不發生跳轉,執行後還是在頁面的當前位置。

      綜合上述,在a中呼叫js函式最適當的方法推薦使用:

[javascript] view plain copy
  1. <a href="javascript:void(0);" onclick="js_method()"></a>  
  2. <a href="javascript:;" onclick="js_method()"></a>  
  3. <a href="#" onclick="js_method();return false;"
    ></a>  
二、href="#"的作用

       a中href="#"表示回到最頂部。如果當前頁面中需要滾動的話,那麼用這種方式就可以直接回到頂部。比如有些網站會在右下角製作一個圖示按鈕,回到頂部,那麼此時可以考慮用這種最簡單的方式實現。

[javascript] view plain copy
  1. <span style="font-size:14px;"><a href="#">回到最頂端</a></span>  
三、href="URL"的作用

     1、URL為絕對URL

     此時指向另一個站點,比如href="http://write.blog.csdn.NET",那麼點選時就會直接跳轉到這個連結的頁面。

    2、URL為相對URL

     此時指向站點內的某個檔案,比如href="/test.doc",那麼點選時就會直接下載檔案。

     注意:當你配置檔案型別為.txt或圖片等在頁面上可以直接開啟的檔案,你點選<a>標籤時,檔案不會下載,而是會開啟瀏覽器的一個新的標籤頁,

並在此頁面標籤中顯示檔案/圖片內容。這時,你可以在a元素中加入download屬性,使得a元素連結的所有檔案都會被下載。

    3、錨 URL 

       此時指向頁面中的錨,比如href="#top",那麼點選時就會到當前頁面中id="top"的這個錨點,實現當前頁面的所謂跳轉。用的最多就是在可滾動頁面中,新增選單,可以直接回到頁面中的某個部分的內容。

即所有的三種程式碼樣例:

[javascript] view plain copy
  1. <a href="http://baidu.com">超連結</a>  
  2. <a href="#">回到最頂端</a>  
  3. <a href="css/css1.css" download>檔案連結</a>  

備註:為 download 屬性賦屬性值,例如 download='demo.css' ,可以為下載檔案重新命名。

但是,前提是這個檔案是在當前伺服器中的,即不能是跨域的檔案。

四、href="mailto:"的作用

     當href="mailto:"時,可以實現傳送郵件的功能。

    屬性如下所示:

        subject為郵件的主題

        body為郵件的內容;

        cc為抄送

示例:

<a href="mailto:[email protected]?subject=郵件主題&[email protected]&body=郵件內容資訊">傳送郵件</a>
備註:除了使用<a>標籤傳送郵件以外,還可以使用<form action="mailto:" title="mail">或者Java實現傳送郵件功能,詳情請百度,網上

相關資料很多。