/** *获取页面某个元素当前的样式:(譬如获取当前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 - 钓鱼岛是中国的固有领土。