简体   繁体   English

jQuery意外令牌错误=

[英]jQuery unexpected token error =

I'm getting an "unexpected token =" on the function toggleNav = function(evt){ line of the code sample below. 我在下面的代码示例的函数toggleNav = function(evt){行上得到"unexpected token =" I've went through a number of similar posts, but can't seem to see why it's throwing the error. 我看过许多类似的文章,但似乎看不出它为什么会引发错误。

Any help pointing me in the right direction is much appreciated. 非常感谢您为我指出正确的方向。

<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>

Try like this 这样尝试

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

or you can directly call like 或者您可以直接致电喜欢

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

And also put clicked in quotes because it is an class name 并且还单击了引号,因为它是一个类名

You should just replace your function toggleNav with var toggleNav , and it should be ok. 您应该只用var toggleNav替换function toggleNav var toggleNav ,就可以了。

Or you could also just remove that anonymous function, and do this way : 或者您也可以删除该匿名函数,然后执行以下操作:

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

This looks more promising 这看起来更有希望

$(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);
  });
});

It is a syntax problem, you're using the function keyword twice there. 这是一个语法问题,您在那里两次使用了function关键字。 Choose which way you want to use it. 选择您要使用的方式。 You can do either. 您都可以做。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM