JavaScript 获取计算后的样式

w3c标准浏览器的获取方法

 1 var oDiv = document.getElementById(‘div‘);
 2 //获取计算后的font-size
 3 var sFs = getComputedStyle(oDiv,null).getPropertyValue(‘font-size‘);//推荐使用
 4 //或者
 5 var sFs= getComputedStyle(oDiv,null).fontSize; //不推荐使用
 6
 7 console.log(sFs);
 8
 9 //注1: 由于获取不同浏览器里计算后的css属性名称的不同(比如获取float),在有些浏览器是.cssFloat,有些则是.styleFloat,为了避免浏览器判断,使用.getPropertyValue(‘float‘)就可以避免这个问题。
10 //注2: .getPropertyValue()方法里的值不支持驼峰写法,比如fontSize只能写成getPropertyValue(‘font-size‘)这种形式
11 }

IE9以下浏览器的获取方法:

1 var oDiv = document.getElementById(‘div‘);
2 //获取计算后的font-size
3 var sFs= oDiv.currentStyle.getAttribute(‘font-size‘); //推荐使用
4 //或者
5 var sFs= oDiv.currentStyle.fontSize; //不推荐使用
6
7 console.log(sFs)

封装获取计算后样式的方法

 1 function getStyle(node,attr){
 2     if(typeof getComputedStyle != ‘undefined‘){
 3         var value = getComputedStyle(node,null).getPropertyValue(attr);
 4         return attr == ‘opacity‘ ? value * 100 : value; //兼容不透明度,如果是不透明度,则返回整数方便计算
 5     }else if(typeof node.currentStyle != ‘undefined‘){
 6         if(attr == ‘opacity‘){ //兼容不透明度
 7             return Number(node.currentStyle.getAttribute(‘filter‘).match(/(?:opacity[=:])(\d+)/)[1]);
 8         }else{
 9             return node.currentStyle.getAttribute(attr);
10         }
11     }
12 }

原文地址:https://www.cnblogs.com/shengzs/p/9308826.html

时间: 2024-10-15 20:03:14

JavaScript 获取计算后的样式的相关文章

JS-DOM:获取计算后的样式(同时兼容IE跟其他浏览器)

HTML部分 <div id="div1" style="">打发第三方</div> CSS部分 <style type="text/css">#div1{    height: 100px;    width: 100px;    font-size: 12px;    background-color: #ccc;}</style> JS部分 方法一: <script> window

JS获取渲染后的样式

一般我们利用element.style.属性来获取CSS的样式,而此方法只能获取标签内的样式,无法获取头部或引入的样式,因此,而我们又需要获取其样式,则我们可以使用:(其中element为标签,proName为属性)document.defaultView.getComputedStyle(element)[proName]的方法获其样式,而此方法不支持IE6~IE8,因此我们针对IE8以下的使用element.currentStyle[proName] 我们可以通过下面方法使其兼容 1 /*

javascript 获取排列后的对象建值

function getSortedParameter (parameterObject){ let attributes = []; parameterObject = parameterObject ? parameterObject:{}; for(let attr in parameterObject){ attributes.push(attr); } attributes.sort(); let paramStr = ""; attributes.forEach(eleme

JavaScript获取CSS样式的问题(1)

刚刚来到博客园!先分享一点初级的知识吧! 在学习javascript中,很多人对获取DOM元素的CSS样式感到很困惑,因为,对于行级样式,我们可以通过很简单的访问style属性就可以了得到,而对于<style>……</style>标签中定义的CSS样式和通过<link>载入的外部样式表,我们就无法用style属性访问得到,而且使用getAttribute()方法也无法获取到.以前在网上搜索了很久,其解决方案都不尽完美,回头通过自己查阅各种书籍,算是找到了比较完美的解决方

javascript获取行间样式和非行间样式--兼容写法

style:获取行间样式: currentStyle:获取计算后的样式,也叫当前样式.最终样式. 优点:可以获取元素的最终样式,包括浏览器的默认值,而不像style只能获取行间样式,所以更常用到.注意:不能获取复合样式如background属性值,只能获取单一样式如background-color等. alert (oAbc.currentStyle);IE8和Opera 11弹出了“object CSSStyleDeclaration”:FF 12.chrome 14.safari 5则弹出“

JavaScript操作表格及CSS样式

概述 在前端开发中,表格主要用于存储结构化的数据,CSS主要用于修饰DOM元素,如何通过DOM来操作表格及CSS呢?本文主要通过一些简单的小例子,简述DOM对表格和CSS的常见操作方法,仅供学习分享使用,如有不足之处,还请指正. 获取表格及数据 假如当前有一个表格,id为tb01,如下所示: 1 <table id="tb01" width="300" border="1" cellspacing="2" cellpad

JS获取元素非行间样式的方法

currentStyle :只兼容IE浏览器 getComputedStyle :获取计算后的样式,不兼容IE6.IE7.IE8 如何获取非行间样式,同时兼容所有浏览器呢? window.onload=function(){ var oDiv1=document.getElementBy("div1"); if(oDiv.currentStyle){ //如果浏览器支持currentStyle oDiv.currentStyle.width; }else{ //如果浏览器不支持curr

JavaScript获取元素尺寸和大小操作总结

一.获取元素的行内样式 复制代码 代码如下: var obj = document.getElementById("test"); alert(obj.height + "\n" + obj.width); // 200px 200px typeof=string只是将style属性中的值显示出来 二.获取计算后的样式 复制代码 代码如下: var obj = document.getElementById("test"); var style

JavaScript获取DOM节点HTML元素CSS样式

JavaScript获取DOM节点HTML元素CSS样式技术 maybe yes 发表于2015-01-10 18:07 原文链接 : http://blog.lmlphp.com/archives/59  来自 : LMLPHP后院 如何使用 JavaScript 获取某个 DOM 节点下 HTML 元素的 CSS 样式值?使用过 JQuery 的童鞋一定都非常的熟悉,Jquery 提供了非常强大的 CSS 方法,可以很方便的设置和获取元素的 style 属性. 某些情况下,我们不能使用 JQ