Jquery 在页面加载时添加/删除CSS

Jquery 在页面加载时添加/删除CSS,jquery,hash,Jquery,Hash,所以,我的问题是,我有“选择器”,可以显示你在哪个菜单上。我使用两个类,选择的类和未选择的类 当页面加载时,我根据URL中的哈希值加载,加载效果很好(这意味着页面加载时我的函数可以工作!) 现在,我有一个单独的方法,名为setSelect(),它基本上是基于JS文档开头声明的变量将CSS删除/添加到菜单项中 下面是代码(我删掉了很多,只保留了相关部分) 同样,如果我加载#home散列或#调节这些方法会运行,但是setSelect()方法不起作用。所有方法都放在加载散列的方法之前,因此这不应该成为

所以,我的问题是,我有“选择器”,可以显示你在哪个菜单上。我使用两个类,选择的
类和未选择的

当页面加载时,我根据URL中的哈希值加载,加载效果很好(这意味着页面加载时我的函数可以工作!)

现在,我有一个单独的方法,名为
setSelect()
,它基本上是基于JS文档开头声明的变量将CSS删除/添加到菜单项中

下面是代码(我删掉了很多,只保留了相关部分)

同样,如果我加载
#home
散列或
#调节
这些方法会运行,但是
setSelect()方法不起作用。所有方法都放在加载散列的方法之前,因此这不应该成为问题

编辑


我知道没有调用
setSelect()
。这是因为无论我在那个方法中调用它,它都不起作用。但是,为了帮助解决这个问题,我把它放了进去。

问题是你从来没有调用过
setSelect()
函数(或者至少你的代码显示了这一点)

你的代码在第一个关闭它的函数上缺少一个}是不是打字错误?此外,您确实需要重用选择器。不要多次使用$(“#location1”)。把他们锁起来$(“xxx”).添加类(“x”).删除类(“y”);很抱歉,它无法通过我的粘性复制和粘贴方法。它存在于我的原始代码中。变量
jlLocation
从未更改。这是正确的,在本例中它没有更改。但是这不是问题,因为即使是1,条件也会触发。但问题是这个方法没有。这是我的错误。我把它拿走了,因为它实际上什么也没做。
var jlLocation = 1;

function setSelect() {
        if(jlLocation==1) {
            $('#location1').removeClass('unselected');  
            $('#location1').addClass('selected');
            $('#location2').removeClass('selected');    
            $('#location2').addClass('unselected');
        }
        else if(jlLocation==2) {
            $('#location1').removeClass('selected');    
            $('#location1').addClass('unselected');
            $('#location2').removeClass('unselected');  
            $('#location2').addClass('selected');
        }
 }

$(function(){
                // Bind an event to window.onhashchange that, when the hash changes, gets the
                // hash and adds the class "selected" to any matching nav link.
                $(window).hashchange( function(){
                    hash = location.hash;
                    document.title = 'Joy Luck ' + ( hash.replace( /^#/, '- ' ) || '' ) + ''; // Set the page title based on the hash.
                    setSelect();
                    if (hash == "#Home") {
                        showHome();
                    }
                    else if (hash == "#Accommodations") {
                        showAccommodations();   
                    }       

                    $('#menu a').each(function(){
                        var that = $(this);
                        that[ that.attr( 'href' ) == hash ? 'addClass' : 'removeClass' ]( 'selected' );
                    });
                  })
                  $(window).hashchange();  
                });