我一直在编辑一个脚本,以便在单击菜单图标时将其变为蓝色。原始脚本有 8 个 if 语句。这很有效,但是当我将 if 语句更改为 switch 时,它停止了工作。我已经对语法错误、拼写错误等进行了三次检查,但菜单图标仍然是灰色的!
谁能给我一个解释?
window.onload = function() {
    [].forEach.call(document.querySelectorAll('.navico'), function(el) { 
        el.addEventListener('click', imageButtonClickHandler); 
    });
    function imageButtonClickHandler() 
    {  
        switch(this.id) 
        {
           case(this.id.match("aboutnav")):
                grey();
                $('#abouttitle').css('color', 'blue');
                $('#a').css('color', 'blue');
            break;
           case(this.id.match("routenav")):
                grey();
                $('#routetitle').css('color', 'blue');
                $('#b').css('color', 'blue');
            break;
           case(this.id.match("enternav")):
                grey();
                $('#entertitle').css('color', 'blue');
                $('#c').css('color', 'blue');
            break;
           case(this.id.match("racedaynav")): 
                grey();
                $('#racedaytitle').css('color', 'blue');
                $('#d').css('color', 'blue');
            break;
           case(this.id.match("gallerynav")):
                grey();
                $('#e').css('color', 'blue');
                $('#gallerytitle').css('color', 'blue');
            break;
           case(this.id.match("newsnav")):
                grey();
                $('#f').css('color', 'blue');
                $('#newstitle').css('color', 'blue');
            break;
           case(this.id.match("resultsnav")): 
                grey();
                $('#g').css('color' , 'blue');
                $('#resultstitle').css('color', 'blue');
            break;
           case(this.id.match("contactnav")): 
                grey();
                $('#contacttitle').css('color', 'blue');
                $('#h').css('color', 'blue');
            break;
            }
        }
    }
};
谢谢!