首頁  >  文章  >  web前端  >  html中a標籤href='#'與href='###'的差異分享

html中a標籤href='#'與href='###'的差異分享

黄舟
黄舟原創
2017-07-27 13:34:052519瀏覽

  首先, 標籤+ onclick='{jscode}' 是很常用的一種js 運用方式,而不使用href='javascript:{jscode}' 是為了相容於多種瀏覽器對< a> 標籤的解釋和處理不同。其次,使用 標籤+ onclick='{jscode}'  時常會加一個href='

',而有時這個href='

' 會被誤寫為 是因為使用者沒有理解'#' 和'

' 的區別。

     簡單地說,就是說如果想定義一個空的鏈接,又不跳到頁面頭部,可以寫href="

"。詳細解釋就是 '#' 是有特定意義的,如果'#' 後有內容會被認為是一個標籤而從頁面找到相應標籤跳到該處,找不到時會跳到頁首, '

' 其實就是一個無意義的標籤指定,也就是一個'#' 和不存在的標籤'##' 的組合,頁面中找不到命名為'##' 的
時該連結就不會發生跳轉,也就不會導致執行onclick 中的內容時突然發生頁面跳到頁首的問題。 '###' 只是一種使用者習慣,如果你願意,可以隨便找一個跳轉不到的標籤作為命名。說白了"###" 是一個不是錨點的字串 瀏覽器找不到也不會跳到頁首,原理就是依賴了網頁的報錯機制,找不到就不做處理。 ######     有些人說,不喜歡「###」因為他會改變連結。都是使用一直用javascript:void(0)或javascript:。 href="javascript:void(0);"但也有人說用href="javascript:void(0);"可能會有瀏覽器相容問題。在做頁面時,如果想做一個連結點擊後不做任何事情,或者響應點擊而完成其他事情,可以設定其屬性href = "#",但是,這樣會有一個問題,就是當頁面有捲軸時,點擊後會回到頁面頂端,使用者體驗不好。 ######     javascript:void(0)這種偽協議,少寫的好,如果你看過一些web標準的書就知道為什麼了。 2.連結(href)直接使用javascript:void(0)在IE中可能會引起一些問題,例如:造成gif動畫停止播放等,所以,最安全的方法還是使用「####」。為防止點擊連結後跳到頁首,onclick事件return false即可。 ###

以上是html中a標籤href='#'與href='###'的差異分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!