js 获取非行间样式

1、getComputedStyle(nodeObj,false);该方法是BOM对象,第一个是要获取样式的节点对象;第二个可以写成任何的字符一般写成false或者null,这里最好是用false因为用null IE9+会有问题;后面直接跟要获取的样式(写在方括号中)即可

var style=getComputedStyle(div,false)[‘width‘];

但是该方法具有兼容性,IE8以下不支持该方法

2、currentStyle[‘attr‘];

该属性返回的也是是一个对象,也是计算后的样式的属性值对的集合。比如要获取某个div宽度。那么可以直接写成

var style=div.currentStyle[‘width‘];

最终可以封装为一个方法:

<script type="text/javascript">function getAttr(obj,attr){
  var style;
     if(obj.currentStyle){   //当有这个属性的时候currentStyle
    style=obj.currentStyle[attr]; //兼容IE
     }
     else{
    style=getComputedStyle(obj,false)[attr]; //主流浏览器
     }
     return style;
}

</script>

原文地址:https://www.cnblogs.com/YAN-HUA/p/9264135.html

时间: 2024-10-11 05:29:39

js 获取非行间样式的相关文章

js获取非行间样式或定义样式

1 <!--DOCTYPE html--> 2 <html> 3 <head> 4 <meta charset="utf-8" /> 5 <style> 6 *{ text-align:center;} 7 input{ margin-top:30px; padding:10px 20px;} 8 #div1{ width:500px; height:300px; background:red; margin:10px aut

JS获取非行间样式

我们都知道用offset函数获取元素样式是一件很方便的事,但是offset只能获取行间样式,而无法获得非行间样式,这是它的瓶颈所在. 我们都知道js获取行间样式的方法,那么js是如何获取行距样式的呢? 首先让我们看一下js是如何获取行间样式的: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitiona

JS获取非行间样式及兼容问题

获取非行间样式: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>获取非行间样式</title> <style> #div1{height: 200px;width: 200px;background-color: red;} </style> <script> fun

继上一篇:获取非行间样式,此处有兼容问题

html格式: <body> <div id="div1" style="width:200px; height:200px; background:red;"> </div> js代码: window.onload=function () { var oDiv=document.getElementById('div1'); //alert(oDiv.style.width);     //style只能用来获取行间样式 //I

Date对象,封闭空间,函数传参和封装,获取非行间样式,字符串操作

一.Date对象 1. 获取 oDate.getFullYear() 获取年份 oDate.getMonth()+1  获取月份( 0-11)----->1-12 oDate.getDate()  获取日 1-31 oDate.getHours() 获取小时 oDate.getMinutes() 获取分 oDate.getSeconds() 获取秒 oDate.getMilliseconds();   //毫秒 oDate.getDay() 获取星期几 0-6     0:星期天 例:数码时钟

JavaScript获取非行间样式/定义样式

html节点的样式分为以下几种 (1)浏览器默认样式 (2)引用样式(引用外部css文件的样式.style标签内定义的样式) 引用外部css样式:<link rel="stylesheet" href="css/style.css" type="text/css"> style标签内:<style> width:100px; </style> (3)行间样式(节点style属性定义的样式)比如:<div

获取非行间样式

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> *{text-align: center} input{margin-top:30px;padding:10px;} #div1{width:500px;height:300px;background:re

获取非行间样式,数组

1.用style来获取的是行间样式,若是要获取非行间样式,则要采用currenStyle,getComputedStyle.在用参数的时候要用[]这个来框出来,不能用. 2.getComputedStyle(obj,false)[name]这个false可以换成别的,null也行.换成nul就报错. 3.alert(getStyle(oDiv, 'background'));这里获取的background 是一个复合的样式.这个地方如果是要获取'width'不能直接用width. 在函数传参的时

获取非行间样式的方法

了解css三种写入样式的方法 1. 内联: 写在style标签内 1 <style> 2 div { 3 width: 300px; 4 height: 300px; 5 border-width: 1px; 6 border-style: solid; 7 border-color: black; 8 background-color: pink; 9 } 10 </style> 2. 外联: 使用link标签导入 1 <link rel="stylesheet&