js修改样式表规则
<div>adasfsfs</div>
<div id="div">adasfsfs</div>
<div>adasfsfs</div>
<div>adasfsfs</div>
<p>adasfsfs</p>
if(!document.styleSheets || document.styleSheets.length <= 0) {var style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = "";
document.getElementsByTagName('HEAD')[0].appendChild(style);
}
var sheet = document.styleSheets[0]; //新增样式规则
function insertCss(element, csName, position) { //跨浏览器兼容
if(sheet.insertRule) { // sheet.insertRule 非IE的时候会读取到一个函数,IE8即以上的时候会读取到undefined
sheet.insertRule(element + '{' + csName + '}', position);
} else if(sheet.addRule) {
sheet.addRule(element, csName, position);
}
}
insertCss('#div', 'font-size:16px;color:orange', 0); //删除样式规则
function test() {
var dv = document.createElement('div');
dv.id = 'div';
dv.innerHTML = "cs";
document.getElementsByTagName('body')[0].appendChild(dv);
}
function deleteCss(position) { //跨浏览器兼容
if(sheet.deleteRule) {
sheet.deleteRule(position);
} else if(sheet.removeRule) {
sheet.removeRule(position);
}
deleteCss(0);
}
与直接操作style样式表相比,修改样式表规则可以实现样式表的多次利用
js修改样式表规则的更多相关文章
- JS:操作样式表3:内联和外链样式
var box = document.getElementById("box"); box.style.属性;只能读取修改行内样式. //访问元素样式2,对外链样式表进行操作 do ...
- JS:操作样式表1:行内样式
//访问元素样式1, stye属性只对行内样式有用 var box = document.getElementById("box"); // alert(box.style.col ...
- js修改样式
添加.删除class: $("#id").addClass("someClass"); $("#id").removeClass(" ...
- DOM--5 动态修改样式和层叠样式表
W3C DOM2 样式规范 CSSStyleSheet对象 表示所有css样式表,包括外部link和嵌入style的;通过document.styleSheets属性可以获得文档中CSSStyleSh ...
- JavaScript DOM高级程序设计 5动态修改样式和层叠样式表2--我要坚持到底!
把样式置于DOM脚本之外 style属性 我们可以这样设置前景色之类的属性: element.style.color='red'; 也可以使用下面的代码设置背景颜色: element.style.ba ...
- Javascript高级编程学习笔记(51)—— DOM2和DOM3(3)操作样式表
操作样式表 在JS中样式表用一种类型来表示,以便我们在JS对其进行操作 这一类型就是CSSStyleSheet 即CSS样式表类型,包括了之前 style 对象所不包括的外部样式表以及嵌入样式表 其中 ...
- js 修改css属性值
js不能修改样式表 但是可以修改元素:比如 <div id="test" class="star-rating"></div> 对于上面 ...
- JS获取样式
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- CSS 层叠及样式表来源
Web标准化运动的口号——分离.分离.分离. 在2003年的 SXSW 会议中, Steve Champeon 和 Nick Finck 做了一个名为“面向未来的全方位 Web 设计”的演讲,揭示了这 ...
随机推荐
- 浅谈!SQL语句中LEFT JOIN ON WHERE和LEFT JOIN ON AND的区别
今天的工作学习之路是一个数据库的小知识,当时没有区分出所以然,特此记录分享一下子. 众所周知,数据库的表都是单独存在的,但是当我们进行联合查询(多表查询)时,我们获得数据库返回的值时就好像在一张表里一 ...
- .net平台的MongoDB使用
前言 最近花了点时间玩了下MongoDB.Driver,进行封装了工具库,平常也会经常用到MongoDB,因此写一篇文章梳理知识同时把自己的成果分享给大家. 本篇会设计到Lambda表达式的解析,有兴 ...
- 【Yii系列】Yii2.0基础框架
缘起 因为一个月的短暂停留,我在给朋友搞事情,所以Yii系列的文章耽搁了很长时间,现在又重拾当时的知识,给大伙好好撸下这一系列的博客 提起Yii,虽然是国外的开发者搞的,但是它的作者是华人,这才是让我 ...
- vue-miniQQ——基于Vue2实现的仿手机QQ单页面应用(接入了聊天机器人,能够进行正常对话)
使用Vue2进行的仿手机QQ的webapp的制作,作品由个人独立开发,源码中进行了详细的注释. 由于自己也是初学Vue2,所以注释写的不够精简,请见谅. 项目地址 https://github.com ...
- bootstrap-dialog插件的使用
官网文档:http://nakupanda.github.io/bootstrap3-dialog BootstrapDialog.show({ message: 'Hi Apple!', messa ...
- Luogu1074靶形数独【启发式搜索】
Luogu1074靶形数独 题目描述 小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他 们想用数独来一比高低.但普通的数独对他们来说都过于简单了,于是他们向 Z 博士请教, ...
- Access-自定义控件TabControl
p{ font-size: 15px; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid #aaa; width: 99%; ...
- 老李分享:loadrunner用javavuser进行接口测试
老李分享:loadrunner用javavuser进行接口测试 在这里分享一个poptest培训过程中案例,在日常工作中会遇到被测试系统通讯都是通过加密的数据包,加密算法是公司自己开发的,并且发送的数 ...
- 万能数据库连接类-Oracle、DB2 、Access 、Sql Server
package cc.apps.report; import java.sql.Connection; import java.sql.DriverManager; import java.sql ...
- java复习(7)---集合类、泛型
本节主要结合用例讲述Java中Map类.Set类.List类如何使用. Java中有封装好的集合类,常用的有Map类.Set类.List类,简单说明一下他们的用法. List类,常用有ArrayLis ...