我在下面的代码示例的函数"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>
答案 0 :(得分: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();
}
并且还点击了引号,因为它是一个类名
答案 1 :(得分:2)
您应该将function toggleNav
替换为var toggleNav
,这应该没问题。
或者您也可以删除该匿名函数,并执行以下操作:
function toggleNav (evt) {
var clicked = $(this).parent().attr("class");
$("#nav").removeClass("btn1 btn2 btn3 btn4 btn5 btn6 btn7").addClass(clicked);
evt.preventDefault();
}
答案 2 :(得分: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);
});
});
答案 3 :(得分:0)
这是一个语法问题,你在那里使用了两次function关键字。选择您要使用的方式。你可以做任何一件事。