0

请考虑以下脚本块。问题被解释为评论。

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

})

请注意,如果我将代码置于$('#nav').removeClass('a').removeClass('b').addClass(e);功能之外,并在changeMenu()已调用的 2 个地方使用它,则效果很好。

4

2 回答 2

1

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

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

    changeMenu('parse-gallery');

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

小提琴

于 2013-07-29T06:00:15.713 回答
1

请检查您在代码中遗漏的内容..

$('.mainmenuitem').click(function(){
        changeMenu(this.id)
});
于 2013-07-29T06:05:07.587 回答