上面的代码没帖,我没有IE9测试环境,下面我写的在ie6、7中测试都可以
<html>
<head>
<script type="text/javascript">
function test(){
var trs =documentgetElementById("tbl")getElementsByTagName("tr");
for( tr in trs){
if(tr%2==0){
trs[tr]stylebackground="red";
}
}
}
</script>
</head>
<body onload="test()">
<table id="tbl">
<tr>
<td>1</td><td>2</td>
</tr>
<tr>
<td>1</td><td>2</td>
</tr>
<tr>
<td>1</td><td>2</td>
</tr>
<tr>
<td>1</td><td>2</td>
</tr>
</table>
</body>
</html>
getComputedStyle与style的区别
我们使用elementstyle也可以获取元素的CSS样式声明对象,但是其与getComputedStyle方法还有有一些差异的。
只读与可写
正如上面提到的getComputedStyle方法是只读的,只能获取样式,不能设置;而elementstyle能读能写,能屈能伸。
获取的对象范围
getComputedStyle方法获取的是最终应用在元素上的所有CSS属性对象(即使没有CSS代码,也会把默认的祖宗八代都显示出来);而elementstyle只能获取元素style属性中的CSS样式。因此对于一个光秃秃的元素<p>,getComputedStyle方法返回对象中length属性值(如果有)就是190+(据我测试FF:192, IE9:195, Chrome:253, 不同环境结果可能有差异), 而elementstyle就是0。
行间样式是指通过stylexx获得的样式,但对于class引用的 属性无法获取,
如果要获取class引用的属性,则需要
function getStyle(obj,attr){ //获取非行间样式,obj是对象,attr是值if(objcurrentStyle){ //针对ie获取非行间样式
return objcurrentStyle[attr];
}else{
return getComputedStyle(obj,false)[attr]; //针对非ie
};
};
代码拷贝于>
以上就是关于请问怎么样使IE支持Javascript的td.style.cursor="pointer";和tr.style.background="yellow";样式的修改、全部的内容,包括:请问怎么样使IE支持Javascript的td.style.cursor="pointer";和tr.style.background="yellow";样式的修改、、前端学习笔记style,currentStyle,getComputedStyle的区别和用法、JavaScript的获取非行间样式是什么意思等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)