2012-06-04 185 views

回答

13

使用「的javascript:」稱爲一個href屬性的開始一個鏈接告訴javascript引擎使用字符串的其餘部分來解釋爲javascript。在這種情況下,嚴格解釋會導致語法錯誤,因爲這實際上是一個帶有分號結束的空javascript線。就像這樣:

; 

大多數瀏覽器將不會引發錯誤,但是,作爲鏈接的JavaScript是舊的語法,應該儘量避免。你可以安全地使用它作爲一個什麼都不做的鏈接,但是我不會推薦它。

如果你想有一個鏈接,什麼都不做,你也可以使用這樣的:

<a href="#">Link</a> 
<a href="javascript:void(0);">Link</a> 
<a href="javascript:return false;">Link</a> 

使用一個空字符串的href將使得瀏覽器解釋爲相對鏈接。不以協議或標識符(如高級域或IP地址)開頭的URL將被視爲相對鏈接。例如,域"google.com"上的鏈接"index.htm"將創建鏈接"google.com/index.htm"。同樣,href字符串""將創建鏈接"google.com/",因此空href字符串將導致瀏覽器導航到新頁面。

通常情況下,鏈接不會顯示指針遊標或者像鏈接那樣格式化元素,如果您不指定href屬性,那麼您可以將它用作可以鏈接到使用散列的「錨點」元素字符在URL中。如"http://google.com/#an_anchor"將帶你到類似這樣的錨:<a id="an_anchor">This is an anchor</a>

但是你可以用CSS來強制鏈接進行格式化,這樣的:

CSS:

a { 
    color: #00c; 
    text-decoration: underline; 
    cursor: pointer; 
} 

HTML:

<a>This is a link.</a> 

示例:http://jsfiddle.net/J3RfH/

+0

這三個錨會導致頁面跳轉到頁面的頂部嗎? – Pingpong

+0

'javascript:;'/';'絕對不是語法錯誤。 –

0

它什麼都不做,其目的是取代a標籤的缺省行爲與無操作的地方去,使下面的鏈接基本上不可點擊。

5

這是一個沒有操作。

其他常見的方式是href="#"但需要你return false在onclick事件,以避免跳轉到頁面的頂部,並獲得在地址欄中#

請注意,將鏈接同時使用JavaScript和不使用JavaScript通常是一個好主意,也就是做類似<a href="/whatever" onclick="dowhatever(); return false;">的內容,這樣沒有JavaScript的人就可以簡單地以經典的方式打開頁面,而使用JavaScript的人可以獲得任何好東西與JS做了。

如果事情是不應該要在JavaScript在所有的工作,即沒有有用href值,可以考慮不使用a標籤的所有,但使用span以適當的方式(cursor:pointer和可能下劃線)。

0

如果你指定一些功能之後:那麼它會在這裏使用<a> tag.But你沒有指定任何功能,所以什麼都不會發生