获取元素样式属性值的js代码

function attrstyle(elem,attr){
if(elem.attr){
//若样式存在于html中,优先获取
return elem.style[attr];
}else if(elem.currentstyle){
//ie下获取css教程属性最终样式(同于css优先级)
return elem.currentstyle[attr];
}else if(document.defaultview && document.defaultview.getcomputedstyle){
//w3c标准方法获取css属性最终样式(同于css优先级)
//注意,此法属性原格式(text-align)获取的,故要转换一下
attr=attr.replace(/([a-z])/g,'-$1').tolowercase();
//获取样式对象并获取属性值
return document.defaultview.getcomputedstyle(elem,null).getpropertyvalue(attr);
}else{
return null;
}
}

无论ie还是w3c的, 有一点是相同的, 它们所获取的是元素css属性最终值. 这一点与css的优先级是相同的.
有一点不同的是, ie的方法是通过css属性的驼峰式名(如textalign)获取, 而w3c的方法是通过元素css原来的属性名(如text-align)获取的, 所以, 在使用w3c方法时, 需要对css属性名做个简单的处理.
基于此, 我们可以封装一个获取元素属性值的方法

时间: 2024-07-30 14:10:18

获取元素样式属性值的js代码的相关文章

简单的JS获取元素样式属性值的方法

简单的js获取元素样式属性值的方法 function attrstyle(elem,attr){  if(elem.style[attr]){   //若样式存在于html中,优先获取   return elem.style[attr];  }else if(elem.currentstyle){   //ie下获取css教程属性最终样式(同于css优先级)   return elem.currentstyle[attr];  }else if(document.defaultview &&

原生javascript获取元素样式属性值的方法_javascript技巧

所以, 我们得利用IE的currentStyle和W3C的getPropertyValue获取. elem.style.attr获取样式的方法就不说了. 先来看currentStyle方法, 此对象ie专属, 代表了在全局样式表.内嵌样式和 HTML 标签属性中指定的对象格式和样式. IE下通过它, 就可以获取元素的Css属性值. 而针对其他标准浏览器, W3C也提供了一个方法getPropertyValue, 此方法, 稍有点复杂, 首先要通过document.defaultView.getC

获取所有系统属性值的java代码段

获取所有系统属性值的java代码段: Java代码 Properties pros = System.getProperties(); Enumeration<?> names = pros.propertyNames(); while (names.hasMoreElements()) { String name = (String) names.nextElement(); System.out.println(name + "=" + System.getProper

获取offsetTop和offsetLeft值的js代码(兼容)_javascript技巧

复制代码 代码如下: function offsetTop( elements ){ var top = elements.offsetTop; var parent = elements.offsetParent; while( parent != null ){ top += parent.offsetTop; parent = parent.offsetParent; }; return top; }; function offsetLeft( elements ){ var left =

js中的parseInt()只能获取css内联样式的值比如以下代码,还有其他方法获取css里的值么?

问题描述 js中的parseInt()只能获取css内联样式的值比如以下代码,还有其他方法获取css里的值么? 解决方案 document.getElementById("stty").style.width 这个值是带px的 改成 alert(parseInt(document.getElementById("stty").style.width.replace('px',''))) 解决方案二: 如果没有显示的指定的话,很多值都是空的,例如: div1.scro

js正确获取元素样式详解_javascript技巧

在说js获取元素样式之前,简单地谈一下样式 样式分三种 外部样式 External Style Sheet 以CSS为扩展名的文件(又称为"超文本样式表"文件),它的作用范围可以是多张网页,或整个网站,甚至不同的网站.与网页链接后,才能应用. 嵌入式样式 internal Style Sheet 包含在网页内部的样式设置,它的作用范围仅限于嵌入的网页. 内联式样式 inline Style 在HTML文档中,内联式样式表的格式化信息直接插入所应用的网页元素的HTML标签中,作为其HTM

mvc前台用@写代码时如何获取input的value值或js的变量值

问题描述 mvc前台用@写代码时如何获取input的value值或js的变量值 <script> $('input[name=c1]').change(function () { var value1 = $(this).val(); var value2 = $('input[name=c2]').val(); var value3 = $('input[name=c3]') if (value2 != """") { value3.val(@Calc

js获取元素相对窗口位置的实现代码_javascript技巧

JS获取元素的offsetTop,offsetLeft等属性 obj.clientWidth //获取元素的宽度 obj.clientHeight //元素的高度 obj.offsetLeft //元素相对于父元素的left obj.offsetTop //元素相对于父元素的top obj.offsetWidth //元素的宽度 obj.offsetHeight //元素的高度 区别: clientWidth = width + padding clientHeight = height + p

怎么从另一个js中获取里面的属性值

问题描述 怎么从另一个js中获取里面的属性值,请高手指教.集 解决方案 解决方案二:说下你用的场景啊,如果是同一个页面的话,定义出来的全局变量都是可以共享的,当然,先加载的js先执行有啥疑问继续回帖吧解决方案三:收说一下情景~~~解决方案四:观注.....解决方案五:楼主能够将问题说具体些,太抽象了...解决方案六:document.getElementbyid("");document.getElementbyName("");