如何忽略jquery变量?

时间:2011-04-10 08:37:16

标签: jquery

我有代码,看起来像这样:

  (function($) {
    $(document).ready(function() {

    function getHash(){
        var h = document.location.href.split('#');
        return h.length == 1 ? "" : h[1];
    }


    var $newdiv = $('...html code here...');

function checkit() {
    if(getHash() != "#ignoreDivButton")
        $('html').html($newdiv);    
}

checkit();


    $('#ignoreDivButton').click(function(){
   document.location.href = document.location.href.split('#')[0] + "#ignoreDivButton";
    location.reload();
    });

    });
    })(jQuery);

我需要的是通过单击#ignoreDivButton重新加载页面,但不加载newdiv。我只是无法得到如何忽略变量。提前谢谢。

3 个答案:

答案 0 :(得分:1)

可以将变量设置为cookie,localStorage甚至是url(hash):

function getHash(){
    var h = document.location.href.split('#');
    return h.length == 1 ? "" : h[1];
}

$(window).load(function() {
    if(getHash() != "ignoreDivButton")
        $('html').html($newdiv);    
});

$('#ignoreDivButton').click(function(){
    //reload the page and set the hash of the url to ignoreDivButton
    document.location.href = document.location.href.split('#')[0] + "#ignoreDivButton";
})

答案 1 :(得分:0)

如何而不是仅仅重新加载位置,您可以在网址上添加某种标记,例如#second_load,然后在设置$newdiv变量之前在网址中测试令牌?

答案 2 :(得分:0)

看起来它现在总是会加载newdiv,只是因为你从不限制它,尝试在cookie中有一个变量来说明div是否应该被加载(你可以简单地使用javascript来查看...如果您不知道如何使用w3schools这样的网站。)

然后在$('html')之前添加一个if语句.html($ newdiv);