2012-03-28 62 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