JS:操作样式表3:内联和外链样式
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:内联和外链样式的更多相关文章
- CSS 四种样式表 六种规则选择器 五种常用样式属性
新的html程序要在VS中编写了,在vs中安装ASP.NET和Web开发,并用ASP.NET Web 应用程序(.NETFramework)创建一个网页程序.添加一个html页 后面的代码都是在htm ...
- bootstrap 基础表单 内联表单 横向表单
bootstrap 基础表单 内联表单 横向表单 <!DOCTYPE html> <html> <head> <title></title> ...
- [荐]使用Js操作注册表
使用Js操作注册表 要操作注册表需要通过ActiveX控件调用WScript.shell对象,通过该对象的一些方法来操作. WshShell对象:可以在本地运行程序.操纵注册表内容.创建快捷方式或访问 ...
- JavaScript获取css 行间样式,内连样式和外链样式的方式
[行间样式获取] <div id='div1' style="backgroud:red">测试</div> <script> var odiv ...
- js获取元素的外链样式
一般给元素设置行内样式,如<div id="div1" style="width:500px;"></div>.如要获取它的样式,即可d ...
- Jquery元素选取、常用方法;js只能获取内联样式,jquery内联内嵌都可以获取到;字符串.trim();去字符串前后空格
一:常用的选择器: 基本选择器 $("#myDiv") //匹配唯一的具有此id值的元素 $("div") //匹配指定名称的所有元素 $(".myC ...
- 深度理解CSS样式表,内有彩蛋....
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- [每日一题] OCP1z0-047 :2013-07-30 表连接――内联视图当作表使用
用sys用户登录,给oe用户授权dba,以便可以用oe用户查看执行计划: oe@OCM> conn / as sysdba Connected. sys@OCM> grant dba to ...
- 在JS中将指定表单内的“具有name数据的表单元素的值”封装为Get形式的字符串
//封装post时候,表单中所有具有name数据的表单元素的值,并返回“n=1&p=a” function serialize(formid) { var arr = []; var ipts ...
随机推荐
- Gmail 账号找回办法
前段时间一直在用GFW代理,结果发现GOOGLE账户的保护机制起用了,要给以前的手机号发消息,结果哪个号现在不用了,所以就登陆不进去了,非常扯淡,索性谷歌了下,得出如下的解决方案,完美解决,下次直接在 ...
- Delphi面向对象---接口
从Delphi3开始支持接口.接口定义了能够与一个对象进行交互操作的一组过程和函数.对一个接口进行定义包含两个方面的内容: 1)一方面是实现这个接口 2)另一方面是定义接口的客户 一个类能够实现多个接 ...
- Howto: Connect MySQL server using C program API under Linux or UNIX
From my mailbag: How do I write a C program to connect MySQL database server? MySQL database does su ...
- C#DataGridView合计处理
网上查了一些关于合计的代码 ,但发现大都都不尽人意,就自己再根据资料改了一下. #region 合计 //调用方法示例 //HeJi heji = null; //heji = new HeJi(la ...
- ASP.NET 5探险(6):升级ASP.NET 5到beta6
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:微软根据ASP.NET 5的路线图如期发布了beta6,现在我们就来说说beta5升级 ...
- 深入理解ASP.NET 5的依赖注入
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:ASP.NET 5整个底层都架构于依赖注入机制之下,今天介绍的文章详细介绍了内置依赖注 ...
- UDP穿透NAT原理解析
转自:http://www.2cto.com/net/201201/116793.html NAT(Network Address Translators),网络地址转换:网络地址转换是在IP地址日益 ...
- tcflush 功能(转)
tcflush() 丢弃要写入引用的对象,但是尚未传输的数据,或者收到但是尚未读取的数据,取决于 queue_selector 的值: TCIFLUSH 刷新收到的数据但是不读 TCOFLUSH 刷新 ...
- 【rqnoj28】[Stupid]愚蠢的宠物
题目描述 背景 大家都知道,sheep有两只可爱的宠物(一只叫神牛,一只叫神菜).有一天,sheep带着两只宠物到狗狗家时,这两只可爱的宠物竟然迷路了…… 描述 狗狗的家因为常常遭到猫猫的攻击,所以不 ...
- java基础之——类的初始化顺序
由浅入深,首先,我们来看一下,一个类初始化有关的都有些啥米: 静态成员变量.静态代码块.普通成员变量.普通代码块.构造器.(成员方法?貌似跟初始化没有啥关系) 现在我们来看看她们的初始化顺序, 从性质 ...