我在一个名为clicker的div页面上有一些文本,当我点击这个div时,我想要将localStorage值设置为1(如果为0)或0(如果为1)。
我在this fiddle中有以下内容。 它似乎是在切换值,但不是很正确,例如,如果我点击文本'click'然后我可以看到它使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;
}
答案 0 :(得分:2)
因为您使用了错误的选择器ID
if (localStorage['aaa'] == "1") {
//$('#play').addClass('off');
$('#clicker').addClass('off');
}
答案 1 :(得分:0)
我可能正在咆哮错误的树,但我猜您期望像&#39; 跨域localStorage &#39;。
如果您希望自己的localStorage['aaa']
可以从您的网站和jsfiddle访问,则需要管理同源策略的限制。
您可能希望阅读Nicholas C. Zakas的这篇文章:
向XAuth学习:跨域localStorage
http://www.nczonline.net/blog/2010/09/07/learning-from-xauth-cross-domain-localstorage/