作者TonyQ (沉默是金。)
看板Ajax
标题[心得] js 踩到雷 3: style
时间Tue Jun 8 09:20:02 2010
这系列我定义是比较轻松的分享过去开发时的痛苦经验,
所以请大家随性的看看笑笑就好,如果有误还请不吝更正这样。XD
这篇主要是要探讨一些有关在 style 上的问题。
@!important
在改变样式的需求下,要记得一件事情,
!important 样式是非常重要的,所以你用 js 在修改时,
要写的跟他一样重要浏览器才会理你。 XD
延伸阅读 overriding-important-style-using-javascript
http://0rz.tw/6WnMj
@ DO NOT USE setAttribute
还有就是,要改变元素样式成员时,
请不要用setArrtibute("style","xxx") 或 style= "xxxxx" 。
因为很容易做出你不想要的结果,强烈建议透过 style 成员来操作。
@ Be carefull about the name
虽然我们知道 style 里面的东西都是骆驼式命名法,
不过小心他的命名有时候跟你想的不太一样。
也就是CSS有这个设定,但是照着骆驼式命名法你不一定找的到。
对照表。
http://www.w3schools.com/jsref/dom_obj_style.asp
还有就是有一个很经典的例子,要修改一个 html 物件的「类别名称」,
请不要对 obj.class 做修改,要对 obj.className 做修改。
另外 className 在 default 的状态下是没有提供新增删除的method的,
一次就是改一串要自己 maintain 。
@ WATCH OUT the cross browser issue ..... IN CSS
css 自己也有跨浏览器议题,比方说 opacity 这个属性在 ie6 的恶名昭彰,
还有一些其他的事情,有时候不一定是 javascript 的错,
要记得做 double check 。
因为又到了下交流道的时间了~所以这次照旧在这里收尾。XD
--
我发现有时间压力的前提下写文章真的比较轻松,
虽然能提到的不多,努力再挑战看看这系列能写几篇。:)
--
我:一半的日子让你说,我听你说你的所有
______________________________________
______________________________________一半的日子我想说,对你说过去的所有:我
_______________________________________________________
在讨论中妥善扮演兼具聆听与分享的角色,是我们一生的课题。
_______________________________________________________
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.136.219.110
1F:推 iam87king:这一系列我莫名的想起一句话「Chrome work IE suck」 06/08 23:30
2F:→ ybite:opacity和border-radius这种一写会写三行以上的真的是恶梦.. 06/09 02:01
3F:推 j100002ben:!important还没有遇过,很坚持要过CSS Vaild的小小好处 06/09 06:53
4F:→ TonyQ:我怎麽记得 !important 是css valid的东西。@_@ 06/09 08:34