javascript获取元素css属性值_javascript

很早以前写的获取css属性的函数,见天分享一下,部分代码参照jquery。

了解:火狐和ie关于获取嵌入式样式表和外部样式表的方法不同,IE使用currentStyle(name),火狐等使用defaultView.getComputedStyle(_obj, null);还有就是,js操作css的过程中float属性在IE和firefox下对应的js脚本是不一样,IE下对应得是 styleFloat,firefox,chorme,safari下对应的是cssFloat

以下是我的源码,里边都有我的注释:

/* 
 * 获取CSS样式(兼容)
 * By:D.n.sky
 * www.desetang.com
 */	
var css = function (_obj,_name){
	var result;
		//转换成小写
        _name = _name.toLowerCase();
		//获取样式值
		if(_name && typeof value === 'undefined'){
			//如果该属性存在于style[]中 (操作获取内联样式表 inline style sheets)
            if(_obj.style && _obj.style[_name]){
				result = _obj.style[_name];
            }
		    //操作嵌入样式表或外部样式表 embedded style sheets and linked style sheets
		    else if(_obj.currentStyle){
			     // 否则 尝试IE的currentStyle
                 _name = _name.replace(/\-([a-z])([a-z]?)/ig,function(s,a,b){return a.toUpperCase()+b.toLowerCase();});
                result = _obj.currentStyle[_name];
            }
		    //或者W3C的方法 如果存在的话 Firefox,Opera,safari 
            else if(document.defaultView && document.defaultView.getComputedStyle){
			    //获取Style属性的值,如果存在
                var w3cStyle = document.defaultView.getComputedStyle(_obj, null);
                result = w3cStyle.getPropertyValue(_name);
            }
			if(result.indexOf('px')!=-1) result = result.replace(/(px)/i,'');
            return result;
		}
	}

推荐文章:

  1. 1. 用类的概念写asp操作数据库类_asp
  2. 2. 自己编写的ajax类_javascript
  3. 3. AJAX核心XMLHttpRequest的属性和方法介绍_javascript
  4. 4. 简单的php图片上传类_php
  5. 5. 网页中的元素绑定/移除事件_javascript
  6. 6. javascript获取元素css属性值_javascript
  7. 7. 正则表达式验证数字/电话/手机/邮箱_javascript

你可能感兴趣的:(JavaScript,浏览器兼容,currentStyle,获取CSS样式,js操作css)