0

我在下面的代码示例"unexpected token ="的功能toggleNav = function(evt){行上得到了一个。我已经浏览了许多类似的帖子,但似乎看不出它为什么会抛出错误。

非常感谢任何为我指明正确方向的帮助。

<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

4 回答 4

2

你应该把你的替换function toggleNavvar toggleNav,它应该没问题。

或者您也可以删除该匿名函数,然后这样做:

function toggleNav (evt) {
    var clicked = $(this).parent().attr("class");
    $("#nav").removeClass("btn1 btn2 btn3 btn4 btn5 btn6 btn7").addClass(clicked);
    evt.preventDefault();
}
于 2013-06-22T04:59:02.477 回答
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);
  });
});
于 2013-06-22T05:02:09.203 回答
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();
}

并且还把 clicked 放在引号中,因为它是一个类名

于 2013-06-22T04:58:29.337 回答
0

这是一个语法问题,您在那里使用了两次 function 关键字。选择您想要使用它的方式。你可以做任何一个。

于 2013-06-22T05:00:39.700 回答