2010-04-14 65 views
0

林验证码:如何通过HTML5 getItem设置背景颜色?使用

$(this).css('backgroundcolor', localStorage.getItem('bgColorr') + " !important;"); 

当我写:

alert(localStorage.getItem('bgColorr') + " !important;"); 

它给了我正确的警报,RGB(243,102,42)重要的; ....

真的让我感谢..谢谢你们!

编辑:

周围的代码:

$(function() { 
    $(this).css('background-color', localStorage.getItem('bgColorr')); 
}); 

var colorOptions = '#000, #fff, #abf7ae, #f6cbe9, #53c68f, #53c1c6, #538dc6, #c6536b'.split(', '), 
    colorDivs = [], 
    colorsContainer = $('#colorsContainer'); 

for (var i = 0, len = colorOptions.length; i < len; i++) { 
    var div = $('<div />').css('background', colorOptions[i])[0]; 
    colorDivs.push(div); 
} 

colorsContainer.append(colorDivs); 

$('#header').hover(function() { 
    colorsContainer 
    .fadeIn(200) 
    .children('div') 
     .click(function() { 
      $('body').css('background', $(this).css('backgroundColor')); 
      localStorage.setItem('bgColorr', $(this).css('backgroundColor')); 
     }); 
}, function() { 
    colorsContainer.fadeOut(200); 
}); 

你去那里,谢谢你们

+0

你确定$(这)是正确的元素?意思是,如果你做了$(this).text('TESTING')之类的东西,那么正确的元素更新了吗? – 2010-04-14 21:09:35

+0

@NSD,我认为localStorage属性是HTML5的一部分,如果我没有误解。 @Joel,你可能是正确的,因为我试图用$(this)引用身体背景.. – Noor 2010-04-14 21:11:16

+0

这是里面事件处理程序? 'this'的价值是什么? – interjay 2010-04-14 21:12:37

回答

3
  • 使用'background-color'而不是'backgroundcolor'
  • 删除!important。你不能从Javascript设置这个属性。
  • 您不应将分号放在值的末尾。

更新:

除了上面,似乎this不是一个HTML元素。您需要在此使用适当的选择器,例如$('#someid')以选择带有id='someid'的元素。如果您想更改正文背景,请使用$('body')

总之,你应该留给:

$('body').css('background-color', localStorage.getItem('bgColorr')); 
+0

我已经试过了,现在我又做了,只是因为我上次做错了..什么也没有发生.. – Noor 2010-04-14 21:01:48

+0

@Noor尝试使用我现在发布的代码。 – interjay 2010-04-14 21:07:23

+0

它仍然没有工作..也许我不应该使用$(this)?感谢您试图帮助我! – Noor 2010-04-14 21:12:51

0

您的问题不在的getItem或任何东西,但你的CSS属性名称的大小写。它的背景C olor,而不是backgroundcolor。

+0

不是它不是它的背景色 – 2010-04-14 20:59:27

+0

backgroundColor和background-color在jQuery中同样可以接受 – 2010-04-14 21:00:22

+1

@Matt:实际上,两者都是正确的 – interjay 2010-04-14 21:00:48