JS異常處理:Uncaught SyntaxError: Unexpected token ) , VM242:1
今天在做項目時,在頁面上添加了一個點擊事件,結果報錯了,chrome瀏覽器控制檯查看
發現錯誤,但是你又找不到錯誤具體在哪一行,只顯示了VM242:1,無法定位在哪一行報錯:
我剛纔僅僅在<a>標籤裏添加了一個點擊事件。那麼,是不是剛纔頁面上添加事件出錯了?
<a href="javascript:void();" class="indbtn_search" onclick="search();">搜索</a>
仔細看,好像沒什麼問題? 實際上是有問題的!
引發此錯誤的原因:
href屬性值“javascript:void()”,括號中沒有加“0”,表達式“0”不能少。
void 操作符用法格式如下:
①. javascript:void(expression);
②. javascript:void expression
expression 是一個要計算的 Javascript 標準的表達式。表達式外側的圓括號和分號是可選的,但是寫上去是一個好習慣。 (實現版本 Navigator 3.0 )
你以使用 void 操作符指定超級鏈接。表達式會被計算但是不會當前文檔處裝入任何內容。
正確寫法是:
<a href="javascript:void(0);" class="indbtn_search" onclick="search();">搜索</a>
//或者,去掉void(0)
<a href="javascript:;" class="indbtn_search" onclick="search();">搜索</a>
參考資料:
【1】<a>標籤中
href 和 onclick 的區別,以及 onclick(this) 傳遞this參數詳解 - chunlynn的小屋 - CSDN博客