美文网首页
关于JS获取样式

关于JS获取样式

作者: 与鱼雨遇 | 来源:发表于2017-11-23 16:53 被阅读0次

众所周知,html里面有行间样式,style标签样式,外链样式三种。。

1、对于行内样式,直接可以获取node元素上的style的属性,,style属性本身也是css样式对象,直接获取,无关计算后的值或者单位,,你在行间的单位写的是rem,,你在js里面获得的也就是rem的字符串,,但我们一般很少写在html的各个标签上,这有悖于w3c的结构样式分离的思想,并且维护起来困难,这里不细说。

2、对于html中style标签中的样式,目前我只发现了通过TagNames["style"][n]这样的方法去获得这个标签的innerText(这个属性不兼容,contentText/fireFog),或者更麻烦的方法(childNodes[0].nodeValue)不过也没必要,获取到的是类似纯文本的css 字符串,你要想得到某一个属性,还很麻烦,正则或者string对象的方法。写在style标签里面的用法也不多。

3、对于link外面的css的样式文件,,个人觉得挺好用的,也不会有什么css用的rem单位,,在js里面获去计算后的样式就是'px‘这样的转换问题。只不过有点不兼容,基本用if()else{}就可以搞定ie,chrome,firefog之类的游览器。。

var sheet = document.styleSheets[0];  //获得第一个link外链css集群

/*-----------------------获得规则-----------------------*/

sheet.rules[1] /ie支持的写法。。sheet.cssRules[1] /chrome和火狐的写法      //代表的是第二个样式规则

sheet.rules[1].style.backgroundColor  或者 sheet.cssRules[1].style.backgroundColor  //访问第二个样式规则下的背景颜色。。

/*--------------------添加规则-----------------------------*/

sheet.insertRlue(" #div { width:300px ; height:300px; background-color:red; } ",2)  //chrome或者firefog的写法,在集群2的位置添加样式

sheet.addRlue("#div","width:300px;height: 300px; background: red", 2);        //ie的写法,,在集群2的位置添加样式

/*-------------------------删除样式----------------------------*/

sheet.deleteRule(num index)    //chrome或者firefog中删除指定索引的样式规则

sheet.removeRlue( index num )  //ie上删除

(注意,索引位置不能大于sheet.rules.length或者sheet.cssRules.length,不然报错)

4、关于window.getComputedStyle(element,伪类(null))['backgroundColor']和element.currentStyle["background"];获得游览器计算后的css样式,第一个chrome和firefog,第二个ie下的写法。。注意是获取游览器计算后的样式。。’px'

相关文章

  • js 获取计算后样式

    /js获取计算后的样式,也可以说获取最终样式/

  • 关于JS获取样式

    众所周知,html里面有行间样式,style标签样式,外链样式三种。。 1、对于行内样式,直接可以获取node元素...

  • FlitList列表的简单下拉刷新和上拉加载

    后台要求传入的model样式 获取的数据样式: ListScreen.js页面 ViewUtil.js

  • 脚本化初识

    一、脚本化:用JS去控制css样式1、获取css样式(1)获取行内样式var style=div.stylesty...

  • 获取元素大小和位置的五种方式

    一、直接获取元素样式属性值 运用之前在JS如何获取元素样式?这篇文章中提到的三种获取元素样式方法便可获取元素大小和...

  • jQuery(三)_设置CSS

    jQuery(三)_设置CSS 获取css样式相当于js中计算后的样式getComputedStyle(box)....

  • dom操作css

    解决浏览器兼容,获取div样式 页面样式: 通过js修改元素样式: 读取样式: 读取正在显示样式: 语法:元素.c...

  • jquery

    1、选择器 选择器 2、样式添加、属性获取 样式与属性 3、js对象和jquery对象转化 js和jquery转化...

  • 原生JS中DOM元素的操作

    获取dom 修改属性 .获取对象的属性 .js获取非行内样式属性 innerHTML dom 属性设置与获取 Do...

  • 关于样式获取

    目的:让一个红色方块宽度不断减小。 HTML代码: CSS代码:#point{ width: 200px; hei...

网友评论

      本文标题:关于JS获取样式

      本文链接:https://www.haomeiwen.com/subject/soyzvxtx.html