2010-08-24 83 views
2

因此,例如,我可以这样做:如何在JavaScript中编辑CSS样式?

document.getElementById('element').onclick = function() { 
    document.getElementById('element').style.color = '#FFFFFF'; 
} 

但我应该怎么办呢?

document.getElementById('element').onclick = function() { 
    document.getElementById('element').style.-moz-box-shadow = '1px 1px 1px #000'; 

} 

我希望你明白我的意思:)

请不要发布使用jQuery或任何相关的库任何回答,我希望它在普通的JavaScript。

+0

你为什么试图直接编辑样式,而不是修改类?你只是建立在脆弱的浏览器意识。 – annakata 2010-08-24 13:07:23

+0

'-moz-box-shadow'与CSS3无关。查看供应商特定的前缀?这意味着它是非标准的。 – 2010-08-24 14:13:34

回答

5

我相信这是:

myobject.MozBoxShadow = '1px 1px 1px #000'; 

它不遵循,因为最初的样式对象(这将小写的“M”)的“典型”格式“ - ”字符。样式属性和JS性能之间进行转换的那些样式是指:

  1. 转换的第一个字符为小写
  2. 转换所有字符破折号后为大写
  3. 卸下所有短划线

因此, “-moz-box-shadow”变为:

  1. -moz-box-shadow(第一个字符是“ - ”,所以它不会“T有一个小写)
  2. -moz-箱阴影
  3. MozBoxShadow
+0

是的,它是:D我发现它现在就在某个地方,谢谢你的回答;) – Adam 2010-08-24 13:02:07

1

我觉得你改变 ' - ' 一个大写字母,所以:

document.getElementById('element').style.-moz-box-shadow = 1px 1px 1px #000; 

应该是:

document.getElementById('element').style.MozBoxShadow = "1px 1px 1px #000";