a標籤中的javascript:;是什麼

a標籤中的javascript:;是什麼

1、問題

<a>標籤中href="javascript:;"表示什麼意思??javascript

 

<a id="jsPswEdit" class="set-item" href="javascript:;">修改密碼</a> 
有一種說法是:href="javascript:;"會去解析<script></script>裏面的代碼,跟當前<a>標籤有關的就會執行,.沒關的就跳過。
是否是這樣理解呢?
html

 

 

2、解答

一、

<a> 標籤的 href 屬性用於指定超連接目標的 URL,href 屬性的值能夠是任何有效文檔的相對或絕對 URL,包括片斷標識符和 JavaScript 代碼段

這裏的href="javascript:;",其中javascript:是僞協議,它可讓咱們經過一個連接來調用javascript函數.而採用這個方式 javascript:;能夠實現A標籤的點擊事件運行時,若是頁面內容不少,有滾動條時,頁面不會亂跳,用戶體驗更好。java

 

 

二、

javascript: 是一個僞協議,其餘的僞協議還有 mail:  tel:  file:  等等。函數

1
< a  id = "jsPswEdit"  class = "set-item"  href = "javascript:;" >修改密碼</ a >

javascript:是表示在觸發<a>默認動做時,執行一段JavaScript代碼,而 javascript:; 表示什麼都不執行,這樣點擊<a>時就沒有任何反應。url

 

通常在這種狀況下,會給<a>綁定一個事件回調,來執行業務,如:spa

1
2
3
4
document.getElementById( 'jsPswEdit' ).addEventListener( 'click' function (e) {
   e.preventDefault();
   // 當<a>觸發click時,處理業務
},  false );

 

我能不能這樣理解:href="javascript:;"就是去掉a標籤的默認行爲,跟href="javascript:void(0)"是同樣的?
是同樣的,
void 是JavaScript 的一個運算符,void(0)就是什麼都不作的意思

 

三、

簡單來講,"javascript:"是另一種嵌套js代碼在網頁中的方法
跟經過<script></script>標籤嵌套js代碼差很少code

如點擊下面連接會會執行"javascript:"後面的內容。不過不推薦這種寫法。
理由是使用<a>標籤href屬性一般是保存超連接,用來控制頁面轉向htm

 

1
< a  href = "javascript:alert(22);">點我</ a >

 

 

3、實例

一、a標籤中的javascript:;實現列表下拉

<a href="javascript:;" class="nav-link tpl-left-nav-link-list">

 

二、javascript:;實現頁面跳轉

1 <button type="button" tooltip="添加欄目" class="btn btn-sm btn-azure btn-addon" onClick="javascript:window.location.href = '{:url('cate/add')}'"> <i class="fa fa-plus"></i> Add
2 </button>
相關文章
相關標籤/搜索