2013-06-22 137 views
0

我收到"unexpected token ="函数toggleNav = function(evt){行代码示例如下。我已经通过了一些类似的帖子,但似乎无法明白为什么它会抛出错误。jQuery意外令牌错误=

任何帮助指出我在正确的方向是非常感谢。

<script type="text/javascript"> 
    $(document).ready(function($) { 

    $("#nav > li > a").on("click", toggleNav); 

    function toggleNav = function(evt){ 
    var clicked = $(this).parent().attr("class"); 
    $("#nav").removeClass("btn1 btn2 btn3 btn4 btn5 btn6 btn7").addClass(clicked); 
    evt.preventDefault(); 
} 

}); 
</script> 
+4

好吧,如果你知道的语法似乎很明显错误所在......这里检查你的代码http://www.jslint.com/ – elclanrs

+1

这不是你知道的Java。你不能给变量的类型定义。即其'var x = 1'而不是'int x = 1'。 –

+0

@elclanrs谢谢!通常我们的其他开发人员会执行jQuery工作,所以我仍然得到基础知识。欣赏建议。 – jsuissa

回答

2

尝试这样

var toggleNav = function(evt){ 
    var clicked = $(this).parent().attr("class"); 
    $("#nav").removeClass("btn1 btn2 btn3 btn4 btn5 btn6 btn7").addClass('clicked'); 
    evt.preventDefault(); 
} 

,或者你可以直接调用像

function toggleNav (evt) { 
    var clicked = $(this).parent().attr("class"); 
    $("#nav").removeClass("btn1 btn2 btn3 btn4 btn5 btn6 btn7").addClass('clicked'); 
    evt.preventDefault(); 
} 

而且也把点击引号,因为它是一个类名

+0

你也可以查看我的编辑 – Gautam3164

2

你应该只需更换你的function toggleNavvar toggleNav,它应该是o ķ。

或者你也可以只删除该匿名函数,而做到这一点的方法:

function toggleNav (evt) { 
    var clicked = $(this).parent().attr("class"); 
    $("#nav").removeClass("btn1 btn2 btn3 btn4 btn5 btn6 btn7").addClass(clicked); 
    evt.preventDefault(); 
} 
0

这是,你使用function关键字有两次语法问题。选择你想使用它的方式。你也可以做。

2

这看起来更有前途

$(function($) { 
    $("#nav > li > a").on("click", function(evt) { 
    evt.preventDefault(); 
    var clicked = $(this).parent().attr("class"); 
    $("#nav").removeClass("btn1 btn2 btn3 btn4 btn5 btn6 btn7").addClass(clicked); 
    }); 
});