2012-03-28 60 views
1

我一直在試圖寫一個函數,使所有環節執行上點擊一個功能,但我不知道這是爲什麼不工作:Javascript語法錯誤?

function interceptLinks() { 
    var ls = document.links, numLinks = ls.length 
    for (i=0; i<numLinks; i++) { 
     if ls[i].onclick { 
      //Don't do anything, cause there's already code there! 
     } 
     else { 
      ls[i].onclick = "reloadInfo();"; 
     } 
    } 
} 

它只是拋出一個「interceptLinks沒有定義」我運行該函數時出錯。

回答

3

你缺少的括號您if條件:

 if (ls[i].onclick) { 

這就是全部。嘗試運行該函數時得到的錯誤「interceptLinks未定義」不應該是您看到的第一個錯誤。當你首先包含/編譯函數時,你會得到一個語法錯誤(「意外標識符」或類似的東西)。這是你需要解決的錯誤;不用擔心下一個錯誤,直到它被處理。

+0

非常感謝你!我知道有什麼不對,我只是找不到它。我完全忘記了括號。謝謝! :D – 2012-03-28 00:31:31

+0

有一個[清除堆棧溢出的活動](http://meta.stackexchange.com/q/167342/187073),通過刪除這些錯字相關的問題 - 我們真的可以使用你的幫助!你可以通過在這個問題上進行近距離投票來介入一點嗎? – VisioN 2013-02-28 18:34:40

+1

@VisioN投票投票,歡呼! (我看到那個帖子並計劃參與,我從來沒有想過要求回答者投票,好主意,它可能會讓信息更加清晰。) – 2013-02-28 19:25:53