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. 【JAVA正则表达式综合练习】

    一.治疗口吃. 将字符串“我我我我我我我..........我.......要要要要要..................要要要要...学习习习习.......习习习习习习习习编程程程程程程..... ...

  2. python多线程之Event(事件)

    #!/usr/bin/env python # -*- coding: utf-8 -*- import time from threading import Thread, Event import ...

  3. 安装oracle 10g RAC执行的几个脚本说明

    1,/u01/app/oracle/oraInventory/orainstRoot.sh 脚本 #!/bin/sh if [ -d "/etc" ]; then /etc; fi ...

  4. html5 方框内的小球

    html5 方框内的小球 版本一 <!DOCTYPE html> <html> <head lang="en"> <meta charse ...

  5. phpcms V9实现wap上一篇、下一篇功能

    在phpcms\modules\wap\index.php里面,搜索上面这句 if(!$r || $r['status'] != 99) showmessage(L('info_does_not_ex ...

  6. hdu 4045 2011北京赛区网络赛F 组合数+斯特林数 ***

    插板法基础知识 斯特林数见百科 #include<iostream> #include<cmath> #include<cstdio> #include<cs ...

  7. linux下的c编程

    linux下的c编程 Linux 系统上可用的 C 编译器是 GNU C 编译器, 它建立在自由软件基金会的编程许可证的基础上,因此可以自由发布.GNU  C 对标准 C 进行一系列扩展,以增强标准 ...

  8. windbg的高级玩法

    详见附件  jpg改zip

  9. uri,url.urn

    uri:Web上可用的每种资源 - HTML文档.图像.视频片段.程序等 - 由一个通过通用资源标志符(Universal Resource Identifier, 简称"URI" ...

  10. 关于转换大写中文金额-新学的java函数整理

    toCharArray public char[] toCharArray() 将此字符串转换为一个新的字符数组. 返回: 一个新分配的字符数组,它的长度是此字符串的长度,而且内容被初始化为包含此字符 ...