Javascript 在jquery click()之后调用定义的函数不会';行不通 请考虑下面的脚本块。问题解释为注释 $(document).ready(function(){ function changeMenu(e) { $('#navigator').removeClass('a').removeClass('b').addClass(e); }; // Neither this line changeMenu('element-id'); $('.mainmenuitem').click( // Nor this line execute the function changeMenu(this.id) ); })

Javascript 在jquery click()之后调用定义的函数不会';行不通 请考虑下面的脚本块。问题解释为注释 $(document).ready(function(){ function changeMenu(e) { $('#navigator').removeClass('a').removeClass('b').addClass(e); }; // Neither this line changeMenu('element-id'); $('.mainmenuitem').click( // Nor this line execute the function changeMenu(this.id) ); }),javascript,jquery,function,user-defined-functions,Javascript,Jquery,Function,User Defined Functions,注意,如果我将代码$('#nav').removeClass('a').removeClass('b').addClass(e)函数外,并在调用了changeMenu()的两个位置使用它,它工作正常。语法错误,您需要关闭函数,或者在这种情况下,将函数添加到事件处理程序: $(document).ready(function(){ function changeMenu(selectedMenuID) { $('#navigator').removeClass('a b')

注意,如果我将代码
$('#nav').removeClass('a').removeClass('b').addClass(e)
函数外,并在调用了
changeMenu()
的两个位置使用它,它工作正常。

语法错误,您需要关闭函数,或者在这种情况下,将函数添加到事件处理程序:

$(document).ready(function(){
    function changeMenu(selectedMenuID) {
        $('#navigator').removeClass('a b').addClass(selectedMenuID);
    }

    changeMenu('parse-gallery');

    $('.mainmenuitem').click(function() {
        changeMenu(this.id)
    });
});

请检查代码中遗漏的内容

$('.mainmenuitem').click(function(){
        changeMenu(this.id)
});

我也应该感谢你教我如何一次删除两个类<代码>:D@MohammadNaji-没问题,很乐意帮忙!