js中获取css样式属性值

关于js中style,currentStyle和getComputedStyle几个注意的地方

(1)用js的style只能获取元素的内联样式,内部样式和外部样式使用style是获取不到的。

(2)currentStyle可以弥补style的不足(可获取内联样式,内部样式和外部样式),但是只适用于IE。

(3)getComputedStyle同currentStyle作用相同,但是适用于FF、opera、safari、chrome。

  注意:

  ① currentStyle和getComputedStyle只能用于获取页面元素的样式,不能用来设置相关值。

  ② 如果要设置相应值,应使用style。

补充:

内联方式:样式定义在单个的HTML元素中 ,如<p style="font-size:16px;">测试例子</p>

内部样式表:样式定义在HTML页的头元素中

外部样式表:将样式定义在一个外部的CSS文件中(.css文件),由HTML页面引用样式表文件

保证兼容的做法

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <meta name="apple-mobile-web-app-capable" content="yes">
  <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <title>js中获取css样式属性值</title>
    <style type="text/css">
      #div1{
        width:200px;
        height:200px;
        background:red;
      }
    </style>
</head>
<body>
  <div id="div1" style="width:100px;">

  </div>
</body>
<script type="text/javascript">
window.onload=function(){
   var oDiv=document.getElementById(‘div1‘);
   console.log(getStyle(oDiv,‘width‘)); //100px
}  

function getStyle(obj, attr){
    //只适用于IE
    if(obj.currentStyle){
        return obj.currentStyle[attr];
    }else{
        //适用于FF,Chrome,Safa
        return getComputedStyle(obj,false)[attr];
    }
}
</script>
</html>

如果 觉得文章不错,可以请博主喝一杯奶茶哦!!!

原文地址:https://www.cnblogs.com/zuobaiquan01/p/8461754.html

时间: 2024-11-03 21:29:20

js中获取css样式属性值的相关文章

JS中获取CSS样式的方法

1.对于内联样式,可以直接使用ele.style.属性名(当然也可以用键值对的方式)获得.注意在CSS中单词之间用-连接,在JS中要用驼峰命名法 如 <div id="dv" style="width: 100px;height: 200px;background-color: pink; border: 1px solid green;"></div> <script> var dv = document.getElementB

获取元素的CSS样式属性值 IE兼容写法

/** * 获取元素的CSS样式属性值 */function css(element, attrName) { /*if (window.getComputedStyle) return window.getComputedStyle(element)[attrName] return element.currentStyle[attrName];*/ return window.getComputedStyle ? getComputedStyle(element)[attrName]: el

JS中改变CSS样式以及阻止冒泡总结

在JS中改变CSS样式,一般是通过鼠标或者键盘事件触发调用函数来实现CSS样式的改变,采用“className.style.stylename="";”来实现,例如 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>DOM编程挑战</title> <link rel="stylesheet" type

js中获取css属性

直接获取 window.onload = function() { var but = document.getElementById('button'); var div = document.getElementById('getStyle'); but.onclick = function() { alert(div.style.width);//弹出空的对话框 } } getComputedStyle(div)方法 用法 window.onload = function() { var

text-overflow样式属性值ellipsis的使用方法

一.div标签中使用text-overflow样式属性值ellipsis的方法: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <he

text-overflow样式属性值ellipsis的用法

? ? ? ? 一.div标签中使用text-overflow样式属性值ellipsis的方法: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

对于用js获取元素的css样式属性(getComputedStyle,currentStyle,style)(getPropertyValue,getAttribute)

首先单独拎出来讲的是style style: nodeObject.style.cssProperty获取的是DOM节点上 style 属性定义的样式,如果不存在 style 属性,或者 style 属性没有定义相应的样式,则是无法获取的.也就是说,JavaScript 不会到 <style> 标签或者 CSS 文件去获取相应的样式,只能获取 style 属性定义的样式. 就是外部样式表,内部样式表,用style都是无效的,只有内联样式是有效的,当然用style写入也是写入在内联样式的. 然后

60秒验证码倒计时js代码 js样式代码 方块上下左右随机移动(定时器) js中获取元素的方法 js中表单提交

60秒验证码倒计时js代码 <script type="text/javascript"> var countdown=60; function settime(val) { if (countdown == 0) { //removeAttribute() 方法删除指定的属性. disabled属性规定应该禁用 input 元素. val.removeAttribute("disabled"); val.value="免费获取验证码"

js用currentStyle和getComputedStyle获取css样式(非行间)

用js的style属性可以获得html标签的样式,但是不能获取非行间样式.那么怎么用js获取css的非行间样式呢?在IE下可以用currentStyle,而在火狐下面我们需要用到getComputedStyle.下面是一个小示例: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/ht