js中元素属性值的获取
一、样式表的三种方式
1、内嵌样式(inline style):是写在tag标签当中的,用style=“”来表示,只对当前标签生效;
2、内部样式(inner style sheet):是写在HTML中的,一般写在head标签中,对所在的网页有效
3、外部样式表(Extend style sheet):写在单独文件,需要用link标签单独引入,可对多个网页生效
二、获取style样式属性
1、在js中,通过document.getElementById("id").style.xxx就可以获得元素的XXX属性值,但是,这种方法只能获取到内嵌方式设置的样式值。
2、通过getComputedStyle或currentStyle(IE方法)获取元素属性值
通常封装为函数
function getStyle(obj,attr){ if(obj.currentStyle){ return obj.currentStyle[attr]; }else{ return getComputedStyle(obj,null)[attr]; } }
火狐浏览器中支持情况良好,但在google浏览器中,只有显示设定的样式才可以获取到值,
我测试的是:为li的绝对定位设置了right值,当获取right值时是可以的,但获取的left为auto;
且google中获取的值通常为float型,而且小数位数很长,