JQuery检查是否设置了localStorage

JQuery check if localStorage is set

本文关键字:localStorage 设置 是否 检查 JQuery      更新时间:2023-09-26

我在一个名为clicker的div中有一些文本,当我点击这个div时,我想将localStorage值设置为1(如果它是0)或0(如果它是1)。

我有下面的小提琴。它似乎在切换值,但不是很正确,例如,如果我点击文本"点击",然后我可以看到它使aaa=1,但如果我再次运行小提琴类不适用?最好的方法是什么?

JS

        $(function(){
            $('#clicker').click(function() {
                if (localStorage['aaa'] == "1") {
                    $(this).addClass('off');
                    localStorage.setItem("aaa", 0);
                }
                else {
                    $(this).removeClass('off');
                    localStorage.setItem("aaa", 1);
                }
            });
            if (localStorage['aaa'] == "1") {
                $('#play').addClass('off');
            }
        });
HTML

        <div id="clicker">click</div>
CSS

        .off {
            color: #fff;
            background: grey;
        }   

因为您使用了错误的选择器id

if (localStorage['aaa'] == "1") {
    //$('#play').addClass('off');
    $('#clicker').addClass('off');
}

JSfiddle

我可能是在吠错树,但我猜你期望的东西像'跨域localStorage'。如果您希望您的localStorage['aaa']可以从您的站点和jsfiddle访问,您需要管理同源策略的限制。

你可能想阅读Nicholas C. Zakas的这篇文章:
从XAuth学习:跨域localStorage
http://www.nczonline.net/blog/2010/09/07/learning-from-xauth-cross-domain-localstorage/