<a>標籤中href="javascript:;"表示什麼意思??javascript
<a id="jsPswEdit" class="set-item" href="javascript:;">修改密碼</a>
有一種說法是:href="javascript:;"會去解析<script></script>裏面的代碼,跟當前<a>標籤有關的就會執行,.沒關的就跳過。
是否是這樣理解呢?html
<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
>
|
<a href="javascript:;" class="nav-link tpl-left-nav-link-list">
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>