当前位置: 首页 > news >正文

javascript获取样式表的规则及读取与写入

CSSStyleSheet是继承了StyleSheet的接口属性,它是用于找当前文档中的<link rel=“” href=“”…>这样文件的,有以下属性:lenght,cssRules,title,href,type,deleteRule,insertRule等

CSSStyleRule是继承于CSSRule,它是用于找<link rel=“” href="'>中所有每个规则的集合,它有以下属性:
cssText,selectorText,type,style,等。

第1种方法

 function getStyle(element){//这里是兼容IE的styleSheet属性,sheet是dom中CSSStyleSheet对象的属性return element.sheet||element.styleSheet;}//获取到文档中的第1个linkvar link=document.getElementsByTagName("link")[0];var sheet=getStyle(link);//获取link文件的规则合集对象cssRules,以及兼容IE的rulesvar rules=sheet.cssRules||sheet.rules;//获取.css文件中第一条规则,以花括号为准的第1个{}var rule=rules[0];//这里是写入cssText,而直接rule.cssText是直接读取整个样式表,但不能写入,要写入必须rule.style.cssText="你写入的规则"rule.style.cssText="margin:5px;padding:5px;";//这里是显示你读取第1条规则的选择符文本如:.db 或#main或标签选择符div等console.log(rule.selectorText);console.log(rule.style.cssText);

第2种方法

//获取到文档中的第1个link,这里直接用document.styleSheets[0]来找文档中的<link>文件,找到后直接获取文件中的规则集合var sheet=document.styleSheets[0];//获取link文件的规则合集对象cssRules,以及兼容IE的rulesvar rules=sheet.cssRules||sheet.rules;//获取.css文件中第一条规则,以花括号为准的第1个{}var rule=rules[0];//这里是写入cssText,而直接rule.cssText是直接读取整个样式表,但不能写入,要写入必须rule.style.cssText="你写入的规则"rule.style.cssText="margin:5px;padding:5px;";//这里是显示你读取第1条规则的选择符文本如:.db 或#main或标签选择符div等console.log(rule.selectorText);console.log(rule.style.cssText);

然后是你在文件中的导入的外部规则,也包括你在当前文档中嵌入的规则,嵌入的规则没有 的href,rel,href=undefine属于未定义状态
这是外部导入css文件

body,html
{margin: 0;padding: 0;
}
body{font-family: Arial, Helvetica, sans-serif;font-size: 1em;
}#mydiv
{margin: 0 auto;width: 800px;margin-top: 5px;border: solid 1px blue;
}
#mydiv #mylist
{margin: 0;padding: 0;
}
#mydiv #mylist li
{list-style: none;margin: 5px;font-size: 0.85em;float:left;
}
http://www.lryc.cn/news/167606.html

相关文章:

  • 什么是promise?
  • 从零开始学习软件测试-第45天笔记
  • visual studio常用快捷键
  • 数据变换:数据挖掘的准备工作之一
  • Go语言实践案例之简单字典
  • 笔试面试相关记录(3)
  • 第6章_瑞萨MCU零基础入门系列教程之串行通信接口(SCI)
  • 开源免费的流程图软件draw.io
  • Python绘图系统19:添加时间轴以实现动态绘图
  • 深度解析shell脚本的命令的原理之rm
  • RPA机器人流程自动化专题培训大纲(供大家参考使用)
  • Python用若干列的数据多条件筛选、去除Excel数据并批量绘制直方图
  • 驱动开发,IO多路复用实现过程,epoll方式
  • java在mysql中查询内容无法塞入实体类中,报错 all elements are null
  • Linux 挂载
  • [面试] 15道最典型的k8s面试题
  • lintcode 552 · 创建最大数 【算法 数组 贪心 hard】
  • ModbusTCP服务端
  • Middleware ❀ Hadoop功能与使用详解(HDFS+YARN)
  • Matlab图像处理-从RGB转换为HSV
  • iOS Error Domain=PHPhotosErrorDomain Code=3300
  • LeetCode(力扣)435. 无重叠区间Python
  • opencv c++实现鼠标框选区域并显示选择的图片区域
  • Python实现自主售卖机
  • 任务复杂度与人机
  • Windows关闭zookeeper、rocketmq日志输出以及修改rocketmq的JVM内存占用大小
  • Convai:让虚拟游戏角色更智能的对话AI人工智能平台
  • 【送书活动】大模型赛道如何实现华丽的弯道超车
  • opencv dnn模块 示例(16) 目标检测 object_detection 之 yolov4
  • Python提取JSON数据中的键值对并保存为.csv文件