js获取某元素的class里面的css属性值代码 |
本文标签:js,获取属性值 用js如何获取div中css的 margin、padding、height、border等 。你可能说可以直接用document.getElementById("id").style.margin获取 。但是你说的只能获取直接在标签中写的style的属性,无法获取标签style外的属性(如css文件中的属性) 。而下面方法则两者值都可以获取 。
js在获取css属性时如果标签中无style则无法直接获取css中的属性,所以需要一个方法可以做到这点 。 Js代码 复制代码 代码如下: function getStyle(obj,attr){ var ie = !+"\v1";//简单判断ie6'8 if(attr=="backgroundPosition"){//IE6'8不兼容backgroundPosition写法,识别backgroundPositionX/Y if(ie){ return obj.currentStyle.backgroundPositionX +" "+obj.currentStyle.backgroundPositionY; } } if(obj.currentStyle){ return obj.currentStyle[attr]; } else{ return document.defaultView.getComputedStyle(obj,null)[attr]; } } 完整实例测试代码: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>js获取某元素的class里面的css属性值</title> <style> #box1{margin:5px;padding:5px;height:100px;width:200px;} a{border:1px solid #ccc;border-radius:3px;padding:3px 5px;margin:5px 0;display:inline-block;background:#eee;color:#f60;text-decoration:none;font-size:12px;} a:hover{color:#ff0000;background:#fff;} </style> </head> <body> <script> |