javascript动态添加css样式

查看demo:http://koringz.github.io/addcssstyle/

css的cssstylesheet方法有哪些属性和方法,首先我们是console.log(style.sheet)。

当我们知道了style具有这些方法的时候,我们可以用一个函数输出一次获得的css属性方法。


function addCss () {

var sty = document.createElement(‘style‘);

var h2 = document.getElementsByTagName(‘h2‘)[0];

// var css = ‘text/css‘;

var getHead = document.head || document.getElementsByTagName(‘head‘)[0];

getHead.appendChild(sty);

var stysheet = sty.sheet || sty.styleSheet;// 获得标签名为style的css的样式表,也就是二级属性的对象方法

console.log(sty.sheet);

console.log(sty.sheet.rules);

console.log(sty.sheet.rules.length);

// console.log(sty.sheet.rules.item(0));

console.log(sty.sheet.cssRules);

console.log(sty.sheet.ownerRule);

console.log(sty.sheet.media);

console.log(sty.sheet.type);

console.log(sty.styleSheet);

// 单独设置style.styleSheet没有样式的类型

console.log(sty.sheet.addRule); /**/

console.log(sty.sheet.insertRule); /**/

// console.log(sty);

console.info(sty);

console.dir(sty.tagName); // 样式的标签名

return stysheet;

}

var new_sheet = addCss(); //也就是说new_sheet等于styleSheet

于是,通过输出css属性进行一次判断方法,如何判断不同的浏览器支持css的方法。


function result(selector, rules, index){

index = index || 0;

if(new_sheet.insertRule){

new_sheet.insertRule(selector + ‘{‘ + rules + ‘}‘ , index);  // 这是css二级属性的方法,详细内容见console

}

else{/* IE */

new_sheet.addRule(selector,rules,index); // 这是css二级属性的方法,详细内容见console

}

}

result(‘h2‘, ‘text-indent:25px;border:1px solid red;color:green;‘)

然后我们在浏览页面按F12看效果,通过查看元素的css样式,原来我们添加的属性已经有了。

想看源码的请到git下载:https://github.com/koringz/addcssstyle

时间: 2024-10-13 19:14:33

javascript动态添加css样式的相关文章

使用JavaScript动态添加CSS样式规则

原文链接: Add Rules to Stylesheets with JavaScript原文日期: 2014-09-04翻译日期: 2014-09-05翻译人员: 铁锚 现在Web应用中有大量的JavaScript代码,而我们也一直在追寻各种使他们更快的解决方案. 我们通过 事件代理(event delegation) 让事件监听更高效, 我们利用 函数降频技术(function debouncing) 来限制一段时间内给定方法被调用的次数,请参考: 如何防止事件函数的高频触发(中文翻译)

javascript 动态修改css样式

方法一:改变外联css文件,这里不讲这个. 方法二:通过改变claaName来改变样式,语法: obj.className = "style2"; //或者 obj.setAttribute("class", "style2"); 方法三:使用obj.style.cssTest,语法: obj.style.cssText = " display:block; color:White;" 这个方法优点: 可以这样添加好几个属性.

javaScript动态添加样式

[动态添加css样式] <html> <head> <script type="text/javascript"> window.onload=function(){ var head=document.getElementsByTagName('head')[0]; //获取到head元素 var link=document.createElement('link');  //创建link元素节点,也就是link标签 link.rel="

JavaScript 动态插入 CSS

写组件时有时想把一些组件特性相关的 CSS 样式封装在 JS 里,这样更内聚,改起来方便.JS 动态插入 CSS 两个步骤就可以 1 创建一个 style 对象2 使用 stylesheet 的 insertRule 或 addRule 方法添加样式 一.查看样式表 先看下 document.styleSheets,随意打开一个页面 其中前三个是通过 link 标签引入的 CSS 文件,第四个是通过 style 标签内联在页面里的 CSS.有如下属性 每一个 cssRule 又有如下属性 其中的

动态为页面添加CSS样式文件引用

动态为页面添加CSS样式文件引用: 1 if (document.createStyleSheet) { //IE 2 document.createStyleSheet("./Themes/Default/MessageTip.css"); 3 } 4 else { //Firefox, Chrome 5 var stylesheet = document.createElement("link"); 6 stylesheet.href = "./The

我给女朋友讲编程CSS系列(1) –添加CSS样式的3种方式及样式表的优先权

如果说,原生态就是美,那么,我们就没有必要穿衣打扮. 网页是什么? 说白了,网页就是一堆[html标签]有序的搭配,让[CSS属性值]整整容,请[Javascript语言]处理一下事件. 一个人的整容效果,很大程度上取决于Ta本人,也就是原材料,对网页来说,原材料就是html标签,因此设计优秀的html标签结构十分重要. 整容医生的作用也至关重要,割双眼皮,整容医生的基本功,不同医生割出来的效果不同. 作为一个网页设计师,我们是不是应该追求完美,尽最大努力,让网页漂亮一些. 我知道,我们往往自称

微信小程序--动态添加class样式

尺寸单位: rpx(responsive pixel): 可以根据屏幕宽度进行自适应.规定屏幕宽为750rpx.如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = 375px = 750物理像素,1rpx = 0.5px = 1物理像素.所以用rpx可解决适配问题 样式导入: /** app.wxss **/ @import "common.wxss"; 内联样式: 框架组件上支持使用 style.class 属性来控制组件的样式. style:静

【转】console.time 简单分析javascript动态添加Dom节点的性能

本文代码约定 1 el: 指的是增加直接点的DOM节点 2 totalNum: 为100000(值越大越能体现差距)指的是循环创建的DOM节点 3 for(var i=0;i<totalNum;i++){}: 我们用for来表示就好了,简写代码 如果叫你用javascript动态增加DOM节点,你有哪几种思路呢? 1 .使用innerHTML和字符串拼接 console.time("time1"); var str = ""; for{ str += &quo

console.time 简单分析javascript动态添加Dom节点的性能

Bullshit 本来想每天都更新下博客的,但是最近要考试,还有就是自己还是停留在暗自窃喜中吧(这种想法要改变).其实最近总在想,自己要怎么去管理自己的数据,每天的生活都是对自己的数据的增删查改.昨天把自己的电脑重装了,确实很多软件的存放要改地方了,之前不知道怎么去管理软件安装,所以放得乱七八糟的.说好一大堆废话之后,我最后再说一遍,管好自己的时间.数据真的比你学习东西重要. Method 本文代码约定 1 el: 指的是增加直接点的DOM节点 2 totalNum: 为100000(值越大越能