跨浏览器设置标签样式
最近接触了较多的js,测试都是用的IE,看起来还不错,对跨浏览器写js还只是停留在意识里,没有一点的行动,呼呼,心里对那个东西有点怕怕,一想到跨浏览器就觉得好烦啊,但是还是要去面对啊,加油!
下载了firefox3.0.2和google浏览器,所做的网页用这两个浏览器浏览的时候都出现了错误。
错误在与标签样式的设置。
突然的很讨厌IE啊,
firefox和google浏览器应该都对w3c有良好的支持,对dom的标准支持的也应该很好,但是在IE6下,用标准的dom有时候都不能用。
我遇到的问题是对元素样式的设置,div标签的style属性和class属性的设置。
首先是对dom标准setAttribute和getAttribute的支持,
在IE6下可以通过setAttribute和getAttribute设置元素的属性,但是,对class和style的设置不会在外观上显示出来。虽然设置class和style属性后,用getAttribute方法可以得到所设的属性值,但是外观上却没有变化。
firefox和google浏览器可以正常显示。如:
odiv.setAttribute("class","styleClass");
odiv.setAttribute("style","font-weight:bold ; color: red;");
在IE6里是通过下面两个方法设置class和style属性:
odiv.setAttribute('className','css类名');//IE^里用className而不是class
odiv.style.cssText = "font-weight:blod ; color:red;";
其次,使用className属性
在IE6中,可以通过设置className属性设置class属性,如
odiv.className='styleClass';
className在firefox3.0.2和google浏览器中也是可用的,