var box = document.getElementById("box");

  box.style.属性;只能读取修改行内样式。

  //访问元素样式2,对外链样式表进行操作

  document.styleSheets //得到的是样式表集合 styleSheetList

  var sheet = document.styleSheets[0];//取得要修改的第一个样式表

一:操作

  1.//非ie浏览器下可以识别一下方法和属性
    alert(sheet.cssRules); //样式集合列表
    sheet.deleteRule(0); //删除样式规则(此处上的是第一css样式)
    sheet.insertRule("body {background-color:red}",0); //在第一个位置添加一个样式规则

  2.//针对ie浏览器使用如下:

    alert(sheet.rules);
    sheet.removeRule(0);
    sheet.addRule("body","background-color:red",0);

  //操作样式表,兼容所有浏览器:将1和2结合在一起:  

    document.styleSheets;
    var sheet = document.styleSheets[0];//CSSstyleSheet 取得要修改的样式表

    cinsertRule(sheet,"div","background-color:green; color:pink; font-size:18px; width:200px;",0);//对已有的属性修改不成功

    //添加css规则,并且兼容所有浏览器
      function cinsertRule (sheet, selectorText,cssText,position) {
        //如果是非IE
        if (sheet.insertRule) {
          sheet.insertRule(selectorText + "{"+cssText+"}", position);
        } //如果是ie
         else if (sheet.addRule) {
          sheet.addRule(selectorText,cssText,position);
          };
       }

      cdeteRule(sheet, 1); //将原来写的css规则删去,但上面新增加的并没有删去

    //删除css规则,并且兼容所有浏览器
      function cdeteRule (sheet,index) {
        if (sheet.deleteRule) {
          sheet.deleteRule(index);
         }
          else if (sheet.removeRule) {
              sheet.removeRule(index);
        };
      }

 二,取值

    //通过外链形式,获取样式文本,选择器,样式值
      var sheet3 = document.styleSheets[0];
      var rules3 = sheet3.cssRules||sheet3.rules; //兼容ie和非ie
      var crule = rules3[0];
      alert(crule.cssText); //.div {color:red;font-size:20px;float:right;} 没有调用删除和添加规则函数
      alert(crule.selectorText); //.box
      alert(crule.style.color); //red

ps:  第二种写法更简洁。

  

  

JS:操作样式表3:内联和外链样式的更多相关文章

  1. CSS 四种样式表 六种规则选择器 五种常用样式属性

    新的html程序要在VS中编写了,在vs中安装ASP.NET和Web开发,并用ASP.NET Web 应用程序(.NETFramework)创建一个网页程序.添加一个html页 后面的代码都是在htm ...

  2. bootstrap 基础表单 内联表单 横向表单

    bootstrap 基础表单 内联表单 横向表单 <!DOCTYPE html> <html> <head> <title></title> ...

  3. [荐]使用Js操作注册表

    使用Js操作注册表 要操作注册表需要通过ActiveX控件调用WScript.shell对象,通过该对象的一些方法来操作. WshShell对象:可以在本地运行程序.操纵注册表内容.创建快捷方式或访问 ...

  4. JavaScript获取css 行间样式,内连样式和外链样式的方式

    [行间样式获取] <div id='div1' style="backgroud:red">测试</div> <script> var odiv ...

  5. js获取元素的外链样式

    一般给元素设置行内样式,如<div id="div1" style="width:500px;"></div>.如要获取它的样式,即可d ...

  6. Jquery元素选取、常用方法;js只能获取内联样式,jquery内联内嵌都可以获取到;字符串.trim();去字符串前后空格

    一:常用的选择器: 基本选择器 $("#myDiv") //匹配唯一的具有此id值的元素 $("div") //匹配指定名称的所有元素 $(".myC ...

  7. 深度理解CSS样式表,内有彩蛋....

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. [每日一题] OCP1z0-047 :2013-07-30 表连接――内联视图当作表使用

    用sys用户登录,给oe用户授权dba,以便可以用oe用户查看执行计划: oe@OCM> conn / as sysdba Connected. sys@OCM> grant dba to ...

  9. 在JS中将指定表单内的“具有name数据的表单元素的值”封装为Get形式的字符串

    //封装post时候,表单中所有具有name数据的表单元素的值,并返回“n=1&p=a” function serialize(formid) { var arr = []; var ipts ...

随机推荐

  1. C# 设计模式 提高可维护性的几点原则

    为了提高软件的可维护性,应该遵循以下几点原则: 1.“开放--封闭”原则(OCP) 一个软件实体应该对扩展开放,对修改封闭. 2.里氏代换原则(LSP) 子类型必须能替换她们的基类型,反过来则不成立. ...

  2. HTML5学习之拖放(十)

    l元素可以用于拖拽必须设置draggable="true"属性,img和a标签除外,她们两个默认就可以被拖拽 想做拖拽处理,就需要在Dom元素上监听拖放的事件:dragstart, ...

  3. select count(*)和select count(1)哪个性能高

    select count(*).count(数字).count(字段名)在相同的条件下是没有性能差别的,一般我们在统计行数的时候都会把NULL值统计在内的,所以这样的话,最好就是使用COUNT(*) ...

  4. Delphi的枚举类型

    参考:http://blog.csdn.net/kissdeath/article/details/2060573 Delphi程序不仅可以用于数值处理,还更广泛的用于处理非数值的数据.例如:性别.月 ...

  5. 【JAVA 文件概述】

    一.概述 使用此类的原因: 该类将文件或者文件夹封装成对象.方便对文件与文件夹的属性信息进行操作.File对象作为参数传递给流的构造函数.要求:使用File类的常用方法. windows平台下,目录分 ...

  6. android 入门-控件 测量状态栏高度

    private ViewTreeObserver viewTreeObserver; /** 获取可見区域高度 **/ WindowManager manager = getWindowManager ...

  7. Codeforces Round#250 D. The Child and Zoo(并差集)

    题目链接:http://codeforces.com/problemset/problem/437/D 思路:并差集应用,先对所有的边从大到小排序,然后枚举边的时候,如果某条边的两个顶点不在同一个集合 ...

  8. Xcode 缓存 帮助文档 隐藏文件夹显示方法

    删除Xcode的缓存路径是:/Users/用户名/Library/Developer/Xcode/DerivedData(默认情况下, 这是一个隐藏文件夹) 显示隐藏文件夹 指令如下:显示隐藏文件: ...

  9. WEB前端知识体系脑图

    说在开始的话: 我上大学那会,虽说主要是学Java语言,但是web前端也稍微学了一些,那时候对前端也没多在意,因为涉入的不深,可以搞一个差不多可以看的界面就可以了,其他也没过多在意. 因为稍微了解一点 ...

  10. mysql中sql语句

    <数据定义语言DDL> 一. create TABLE tableName 创建表 二. alter TABLE tableName 修改表 三. drop TBALE tableName ...