obj.style.width = 100; 只能设置行内样式(该样式直接添加在标签体里面)
console.log(obj.style.width) 也只能获取行内样式
如果width的值是写在表前体里面的,此时通过obj.style.width无法获取obj的宽度

1、获取非行内样式

  1. function getStyle(obj,attr){ //获取非行间样式,obj是对象,attr是值
  2. if(obj.currentStyle){ //针对ie获取非行间样式
  3. return obj.currentStyle[attr];
  4. }else{
  5. return getComputedStyle(obj,false)[attr]; //针对非ie
  6. };
  7. };

2、封装写法

  1. function css(obj,attr,value){ //对象,样式,值。
  2. //传2个参数的时候为获取样式,3个是设置样式
  3. if(arguments.length == 2){ //arguments参数数组,
  4. //当参数数组长度为2时表示获取css样式
  5. return getStyle(obj,attr); //返回对象的非行间样式用上面的getStyle函数
  6. }else{
  7. if(arguments.length == 3){ //当传三个参数的时候为设置对象的某个值
  8. obj.style[attr] = value;
  9. };
  10. };
  11. };