href=“javascript:void(0)”
href=”javascript:void(0)”
這個的含義是,讓超鏈接去執行一個js函數,而不是去跳轉到一個地址,而void(0)表示一個空的方法,也就是不執行js函數。
javascript:void(0) 中最關鍵的是 void 關鍵字,void 是 JavaScript 中非常重要的關鍵字,void(expression),該操作符指定要計算一個表達式但是不返回值。
javascript:是僞協議,表示url的內容通過javascript執行。
void(0)計算結果爲0,但在javascript上沒有任何效果。表示不作任何操作,這樣會防止鏈接跳轉到其他頁面。這麼做往往是爲了保留鏈接的樣式,但不讓鏈接執行實際操作。
下面的代碼創建了一個超級鏈接,當用戶點擊以後不會發生任何事。
<a href="javascript:void(0)">單擊此處什麼也不會發生</a>
也就是說,要執行某些處理,但不整體刷新頁面的情況下,可以使用void(0)。
但需要對頁面進行刷新時,就不能用void(0)了。
什麼情況下用void(0)比較多呢,無刷新,當然是Ajax了,看一下Ajax的web頁面,一般會看到很多的void(0)。
<a href="javascript:void(alert("warning"))">
點擊這個鏈接會彈出alert。
Error: Syntax error, unrecognized expression: javascript:void(0);
解決辦法:
需要採用標準的寫法,void(0)後面沒有分號
<a href="javascript:void(0)">....</a>
href="#"與href="javascript:void(0)"的區別
#
包含了一個位置信息,默認的錨是#top 也就是網頁的上端。
而javascript:void(0), 僅僅表示一個死鏈接。
在頁面很長的時候會使用 # 來定位頁面的具體位置,格式爲:# + id。
如果你要定義一個死鏈接請使用 javascript:void(0) 。
<a href="javascript:void(0);">點我沒有反應的!</a>
<a href="#pos">點我定位到指定位置!</a>
<br>
...
<br>
<p id="pos">尾部定位點</p>