当前位置:编程学习 > html/css >>

js更改css class属性

有个下拉菜单样式,弹出来的菜单在IE下距离太大了,其它都正常,我想在IE下特殊把这个class='nav-down' 的top属性由120px改为100px怎么做 在顶上加了document.getElementByTag('nav-down').currentStyle.top='100px'; 提示对象不支持此属性和方法
追问:css里无法进行浏览器检查,我在对IE的时候存在异常,所以只能在js中检查并修改,但修改好像没想像中的容易我忘了说了,要是ID就好办了,因为下面还有几个这样的class调用,我要一起改,不能用ID,我记得有getElementByTag的,怎么不能用了,最终我想改了这个class的top属性,而不是具体哪一个ID你说的没错,我就是针对IE距离显示问题做特殊调整的,因为有多处用到此class,单独修改一处ID没有实际效果意义,最优的做法是修改这个class,我是ie检测的,若是ie的话,既修改此class为啥说不支持此属性或方法[0]是不对的,那样得到的是个对象,方法看来也行,谢谢你
答案:既然有class标签了为什么不再css里面改呢
其他:提示对象不支持此属性和方法,首先你的document.getElementsByTagName(“element”),这个方法拼写错误,当然会报错了!
还有就是这个方法返回的是一个节点集合。你需要确定把这个样式用在哪个元素上面!
document.getElementById('ID').style.top='100px';
嗯,这样说不清楚了,给代码帮你解决…… 给这个元素加个id,例如,设置id=outNav,然后用document.getElementById("outNav")来获取对象,再进行下一步的操作

另,currentStyle应该是IE专用的吧,它的兼容性不好 document.getElementByTag('nav-down')你这个获得的是数组吧。。
document.getElementByTag('nav-down')[0].style.top="100px";试试这个 

上一个:css代码里没有写element.style,在firebug中测试的时候却有这个?然后就产生了间距,请问这个要怎么解决?
下一个:Ie6 除了 float浮动双边距以外 还有什么CSS hack 求汇总!!

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,