2014-03-04 55 views
0

我碰到這個來到JS代碼:HTML HREF =」‘VS的onclick =’self.location.href =」'「

onClick="self.location.href='http://stackoverflow.com/'" 

我在我的網站上使用這個,它有像同樣的功能href屬性。

我在JS新的,我不知道很多關於JS,但也有可能是onclick="self.location.href=''"href=""屬性之間的差異。

有什麼區別?

有什麼好處,有什麼缺點?

+0

你不應該使用它們中的任何一個,而應該使用適當的事件處理程序。 – adeneo

+4

沒有很好的理由使用JS來複制錨標記的'href'屬性的自然行爲。僅使用JS來添加超出默認導航的額外行爲。 – nnnnnn

+0

爲什麼你需要使用其中任何一個?或者你的例子中的空白是否意味着'[某個網址]'? – Mathletics

回答

5

使用href標籤的第一個好處是針對搜索引擎。大多數搜索引擎檢測到href屬性並抓取您的網站,另一件事是如果用戶在瀏覽器中禁用了他們的javascript,self.location.href將無法​​正常工作。但href屬性只與a標籤的作品,所以當你想一下,例如一個按鈕,當用戶重定向,您不能使用href屬性作爲按鈕標籤或輸入標籤不會接受href屬性,所以你應該使用window.locationself.location

+0

所以你是說'onclick = function'實際上會工作,如果javascript被禁用,並且搜索引擎將在href標記中跟隨javascript? – adeneo

+0

的onclick = funtion只能啓用JavaScript時,和搜索引擎將跟隨href屬性上的標籤 – MIIB

+0

「你不能用href屬性爲按鈕標籤或輸入標籤不會接受href屬性」 - 是的,但重要的是要記住,你可以隨時在一個標籤之間放置按鈕,然後使用該屬性, – user2455862