用JS动态设置CSS样式常见方法小结(推荐)

 更新时间:2016年11月10日 17:03:57   作者:imwtr  
本文给大家总结了js动态设置css样式的常见方法,非常实用,对js设置css样式相关知识感兴趣的朋友一起学习吧

用JS来动态设置CSS样式,常见的有以下几种

1. 直接设置style的属性 某些情况用这个设置 !important值无效

如果属性有'-'号,就写成驼峰的形式(如textAlign) 如果想保留 - 号,就中括号的形式 element.style['text-align'] = '100px';

element.style.height = '100px';

2. 直接设置属性(只能用于某些属性,相关样式会自动识别)

element.setAttribute('height', 100);
element.setAttribute('height', '100px');

3. 设置style的属性

element.setAttribute('style', 'height: 100px !important');

4. 使用setProperty 如果要设置!important,推荐用这种方法设置第三个参数

element.style.setProperty('height', '300px', 'important');

5. 改变class 比如JQ的更改class相关方法

因JS获取不到css的伪元素,所以可以通过改变伪元素父级的class来动态更改伪元素的样式

element.className = 'blue';
element.className += 'blue fb';

6. 设置cssText

element.style.cssText = 'height: 100px !important';
element.style.cssText += 'height: 100px !important';

7. 创建引入新的css样式文件

function addNewStyle(newStyle) {
var styleElement = document.getElementById('styles_js');
if (!styleElement) {
styleElement = document.createElement('style');
styleElement.type = 'text/css';
styleElement.id = 'styles_js';
document.getElementsByTagName('head')[0].appendChild(styleElement);
}
styleElement.appendChild(document.createTextNode(newStyle));
}
addNewStyle('.box {height: 100px !important;}');

8. 使用addRule、insertRule

// 在原有样式操作
document.styleSheets[0].addRule('.box', 'height: 100px');
document.styleSheets[0].insertRule('.box {height: 100px}', 0);
// 或者插入新样式时操作
var styleEl = document.createElement('style'),
styleSheet = styleEl.sheet;
styleSheet.addRule('.box', 'height: 100px');
styleSheet.insertRule('.box {height: 100px}', 0);
document.head.appendChild(styleEl); 

以上所述是小编给大家介绍的用JS动态设置CSS样式常见方法小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Cropper.js进阶之固定宽高图片裁切实现示例

    Cropper.js进阶之固定宽高图片裁切实现示例

    这篇文章主要为大家介绍了Cropper.js进阶之固定宽高图片裁切实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • replace()方法查找字符使用示例

    replace()方法查找字符使用示例

    查找字符的情况下会使用replace()方法,此方法很常见也很实用,下面有个不错的示例,感兴趣的朋友可以参考下,希望对大家有所把帮助
    2013-10-10
  • JS面向对象编程之对象使用分析

    JS面向对象编程之对象使用分析

    在AJAX兴起以前,很多人写JS可以说都是毫无章法可言的,基本上是想到什么就写什么,就是一个接一个的函数function,遇到重复的还得copy,如果一不小心函数重名了,还真不知道从何开始查找错误
    2010-08-08
  • js调用屏幕宽度的简单方法

    js调用屏幕宽度的简单方法

    下面小编就为大家带来一篇js调用屏幕宽度的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • 原生JS封装拖动验证滑块的实现代码示例

    原生JS封装拖动验证滑块的实现代码示例

    这篇文章主要介绍了原生JS封装拖动验证滑块的实现代码示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • JavaScript正则表达式实例详解

    JavaScript正则表达式实例详解

    在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。
    2016-10-10
  • 浅谈Javascript Base64 加密解密

    浅谈Javascript Base64 加密解密

    这篇文章主要简单介绍了Javascript Base64 加密解密的使用方法,有需要的小伙伴参考下
    2014-12-12
  • 详解CommonJS和ES6模块循环加载处理的区别

    详解CommonJS和ES6模块循环加载处理的区别

    这篇文章主要介绍了详解CommonJS和ES6模块循环加载处理的区别,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • javascript垃圾收集机制的原理分析

    javascript垃圾收集机制的原理分析

    javascript具有自动垃圾收集机制,执行环境会负责管理代码执行过程中使用的内存。在编写javascript程序时,开发人员不用再关心内存使用问题,所需内存的分配以及无用内存的回收完全实现了自动管理。本文将详细介绍javascript的垃圾收集机制
    2016-12-12
  • js数组Array sort方法使用深入分析

    js数组Array sort方法使用深入分析

    js中Array.sort()方法是用来对数组项进行排序的,默认是升序排列sort() 方法可以接受一个 方法为参数,这个方法有两个参数,接下来本例将对sort方法进行深入探讨,感兴趣的朋友可以参考下
    2013-02-02

最新评论