原文:JavaScript如何获取css属性

  在web开发中,很多时候我们需要用JavaScript对网页的样式进行修改,接下来,我们就来看一下我们该如何访问css属性,针对不同情况及案例来进行分析。

情况一:css属性位于html标签内

  在实际开发过程中,如果样式表的内容比较少的话,我们通常将css属性封装在html标签中,这时JavaScript访问css属性很直接,通过访问html标签的style属性,修改具体的样式即可完成相应的操作。

  例如:

 <!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>styleTest</title>
</head>
<body> <div style="width: 200px;height: 200px; background: green;" id="mydiv"></div>
<input type="button" value="test" onclick="test()">
<script type=text/javascript>
function test(){
var mydiv=document.getElementById('mydiv');
mydiv.style.background="red"; // id.style.属性 执行相应的操作
}
</script> </body>
</html>

  上述案例通过点击按钮,改变对应div的背景颜色。

情况二:css属性在其他文件中

  当css样式表不在html文件中,我们通常会在头部引入css文件名,此时。此时如果我们使用情况一的方法访问,则会发现失败。原因就是此时相应的标签没有style这个属性了,如果我们查看对应标签的style时,会发现是undefined。所以我们需要使用新的方法来访问其属性,网上的方法有很多,在这里我给出我所使用的方法。并给出相应的解释,希望能帮助到大家。

  首先取得定义类的样式表的引用,用document.styleSheet集合实现这个目的,这个集合包含HTML页面中所以的样式表,DOM为每个样式表定义一个CSSRules的集合,这个集合中包含定义在样式表中的所用css规则 (注意:Mozilla和Safari中是cssRulesIE中是rules)。

  具体如下:

  第①步:

    访问获取css文件 ( [0] 表示获取的引入的第一个css文件)

 var icssrules=document.styleSheets[0].cssRules || document.styleSheets[0].rules;     // 兼容不同浏览器

  第②步:

    获取指定的css属性  ( [0] 表示css文件中的第一个标签的css样式 )

 var style1=icssrules[0];  

  第③步:

    执行相应操作

 style1.style.background="red";

详细代码如下:

  html文件:

 <!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>styleTest</title>
<link rel="stylesheet" href="style.css">
</head>
<body> <div id="mydiv"></div>
<input type="button" value="test" onclick="test()">
<script type=text/javascript>
function test(){
var mydiv=document.getElementById('mydiv');
var icssrules=document.styleSheets[0].cssRules || document.styleSheets[0].rules;
var style1=icssrules[0];
style1.style.backgroundColor="red";
}
</script> </body>
</html>

  外部css文件:

 #mydiv {
width: 200px;
height: 200px;
background: green;
}

  实际效果截图如下:

  点击前:

 

  点击后:

  通过两种方式,可以修改相应的css样式表。针对不同的情况可以借鉴不同的方法。

JavaScript如何获取css属性的更多相关文章

  1. JS中使用document.defaultView.getComputedStyle()、currentStyle()方法获取CSS属性值

    在对网页进行调试的过程中,经常会用到js来获取元素的CSS样式,方法有很多很多,现在仅把我经常用的方法总结如: 1. obj.style:这个方法只能JS只能获取写在html标签中的写在style属性 ...

  2. js中获取css属性

    直接获取 window.onload = function() { var but = document.getElementById('button'); var div = document.ge ...

  3. 自定义属性,innerHTML,outerHTML,dom节点的获取,className,tagName,更改或者是获取css属性

    01.自定义属性 1.自定义属性: 作用:保存数据 通用的自定义属性的前缀 data-属性="属性值" 注:自定义的属性不能通过 元素.属性 取属性值 ,需使用getAttribu ...

  4. js原生获取css属性

    原文参考http://blog.csdn.net/lzding/article/details/46317777 1.写在dom上的属性,内联样式 <div id="box" ...

  5. JS使用getComputedStyle()方法获取CSS属性值

    在对网页进行调试的过程中,经常会用到js来获取元素的CSS样式,方法有很多很多,现在仅把我经常用的方法总结如下: 1. obj.style:这个方法只能JS只能获取写在html标签中的写在style属 ...

  6. JavaScript中的CSS属性对照表

    盒子标签和属性对照 CSS语法(不区分大小写) JavaScript语法(区分大小写) border border border-bottom borderBottom border-bottom-c ...

  7. javascript之复习(css属性值的计算)

    js取div的宽高咋办,css有content-box,border-box,padding-box,表现又不一样.好在有个offsetWidth, <style type="text ...

  8. JS 获取CSS属性值

    obj: 元素对象 attribute: 属性 返回值:该对象这个属性的值 function getDefaultStyle(obj,attribute){ // 返回最终样式函数,兼容IE和DOM, ...

  9. getComputedStyle获取css属性与IE下的currentStyle获取到的值不同

    <!doctype html><html lang="en"> <head>  <meta charset="UTF-8&quo ...

随机推荐

  1. android UI生成器

    可根据选择的效果生成资源 http://jgilfelt.github.io/android-actionbarstylegenerator/#name=example&compat=sher ...

  2. Android(java)学习笔记174:SharedPreferences(轻量级存储类)

    1.SharedPreferences是Android平台上一个轻量级的存储类,简单的说就是可以存储一些我们需要的变量信息.2个activity 之间的数据传递除了可以他通过intent来传递数据,还 ...

  3. php字符串函数(1)

    下面去学习一下php的字符串函数,那么怎么去看手册呢,举个例子 int strcasecmp ( string $str1 , string $str2 ) 第一个int,表示此函数返回的类型是int ...

  4. javaBean登录注册

    package javabean; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.Res ...

  5. CSS3高性能动画

    CSS动画属性会触发整个页面的重排relayout.重绘repaint.重组recomposite Paint通常是其中最花费性能的,尽可能避免使用触发paint的CSS动画属性,在CSS动画中使用w ...

  6. Oracle学习第二天

    oracle数据库的常见数据类型oracle全部数据类型 有26种 char定长字符串类型 长度是固定不变的 例如:no char(10) 如果存入的值不足十个字符,其它位也被占用默认长度是1 最大长 ...

  7. Java:Date、Calendar、Timestamp的使用

    一.Java.util.Date 该对象包含了年月日时分秒信息.具体使用如下代码: //String 转换为Date private static void dateDemo() throws Par ...

  8. Node之express

    Express 是一个简洁.灵活的 node.js Web 应用开发框架, 它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用. 如何安装: npm install -g express ...

  9. Quartz定时任务使用小记(11月22日)

    骤然接触quartz,先从小处着手,why,what,how quartz定时任务: 为什么使用quartz定时任务,以及定时任务在实际应用场景下的特定需求. 1.用户方面的需要,为了提供更好的使用体 ...

  10. PHP过滤常用标签的正则表达式

    $str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ] ...