`
accpxudajian
  • 浏览: 452011 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

获取DOM对象的当前(current)样式

阅读更多

 

/**
*获取页面某个元素当前的样式:(譬如获取当前INPUT的宽度,border的样式、border颜色等)
*@param domID 文档对象的ID 或者直接传DOM文档对象
*@param propName  样式属性
*@return 返回当前元素的样式
*注意:propName不要聚合写法(eg:borer),要分拆写法(eg:borderStyle 只支持IE),越详细越好(eg:borderLeftStyle 支持所有浏览器)
*
*/
getStyle = function(domID,propName){
	var dom = null;
	if(typeof(domID)=="object" && !!domID.tagName==true){
		dom = domID;//直接传递文档对象
	}else{
		dom = document.getElementById(domID);//传递文档对象的ID
	}
	if(dom==null){return "";}
	//兼容IE,chrome,FF等浏览器的写法:【 注意属性写法规则:严格要求写全名称,否则失效返回"" 】
	var currentStyle = dom.currentStyle ||document.defaultView.getComputedStyle(dom,null);	
	return currentStyle[propName] ||"";
}

 

 

#测试:

 

 

var id  ="txt_id";//INPUT标签的ID
JSLogger.log("border = "+getStyle(id,"borderLeftWidth"));//all yes
JSLogger.log("border = "+getStyle(id,"borderLeftStyle"));//all yes
JSLogger.log("border = "+getStyle(id,"borderLeftColor"));//all yes
JSLogger.log("border = "+getStyle(id,"width"));//all yes
//IE可以使用下边的写法
JSLogger.logHTML("border = "+getStyle(id,"border"));//【all no 所有浏览器都不支持这种写法】
JSLogger.logHTML("border = "+getStyle(id,"borderStyle"));//only IE yes
JSLogger.logHTML("border = "+getStyle(id,"borderWidth"));//only IE yes
JSLogger.logHTML("border = "+getStyle(id,"borderColor"));//only IE yes
 

 

 

 

 

 

 

 

愤怒的coder - 钓鱼岛是中国的固有领土。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics