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


Posted in Javascript onNovember 10, 2016

用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样式常见方法小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery EasyUI API 中文文档 - Spinner微调器使用
Oct 21 Javascript
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
Apr 02 Javascript
捕获键盘事件(且兼容各浏览器)
Jul 03 Javascript
javascript中文本框中输入法切换的问题
Dec 10 Javascript
jquery validate.js表单验证入门实例(附源码)
Nov 10 Javascript
jQuery实现分隔条左右拖动功能
Nov 21 Javascript
AngularJS入门教程之表单校验用法示例
Nov 02 Javascript
多种方式实现js图片预览
Dec 12 Javascript
vue.js中v-on:textInput无法执行事件问题的解决过程
Jul 12 Javascript
vue-router跳转时打开新页面的两种方法
Jul 29 Javascript
js实现div色块拖动录制
Jan 16 Javascript
jQuery实现计算器功能
Oct 19 jQuery
关于json字符串与实体之间的严格验证代码
Nov 10 #Javascript
jquery日历插件e-calendar升级版
Nov 10 #Javascript
Vue.js开发环境搭建
Nov 10 #Javascript
js 获取本地文件及目录的方法(推荐)
Nov 10 #Javascript
javascript中的后退和刷新实现方法
Nov 10 #Javascript
jQuery中Nicescroll滚动条插件的用法
Nov 10 #Javascript
js对字符串进行编码的方法总结(推荐)
Nov 10 #Javascript
You might like
php smarty的预保留变量总结
2008/12/04 PHP
分享一个php 的异常处理程序
2014/06/22 PHP
PHP生成指定长度随机数最简洁的方法
2014/07/14 PHP
destoon首页调用求购供应信息的地区名称的方法
2014/08/21 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
jQuery Ajax之load()方法
2009/10/12 Javascript
jQuery最佳实践完整篇
2011/08/20 Javascript
JavaScript高级程序设计 客户端存储学习笔记
2011/09/10 Javascript
jquery鼠标滑过提示title具体实现代码
2013/08/06 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
2013/08/12 Javascript
javascript中parentNode,childNodes,children的应用详解
2013/12/17 Javascript
node.js中的favicon.ico请求问题处理
2014/12/15 Javascript
Nodejs学习笔记之Global Objects全局对象
2015/01/13 NodeJs
javascript实现控制的多级下拉菜单
2015/07/05 Javascript
JavaScript中this的用法实例分析
2016/12/19 Javascript
jQuery实现的浮动层div浏览器居中显示效果
2017/02/03 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
2017/03/11 Javascript
一次Webpack配置文件的分离实战记录
2018/11/30 Javascript
JavaScript动态创建二维数组的方法示例
2019/02/01 Javascript
JS中多层次排序算法的实现代码
2021/01/06 Javascript
Python闭包的两个注意事项(推荐)
2017/03/20 Python
python爬取拉勾网职位数据的方法
2018/01/24 Python
对python多线程中Lock()与RLock()锁详解
2019/01/11 Python
Python中Numpy mat的使用详解
2019/05/24 Python
Python如何筛选序列中的元素的方法实现
2019/07/15 Python
python 链接sqlserver 写接口实例
2020/03/11 Python
学生个人求职自荐信格式
2013/09/23 职场文书
自动化系在校本科生求职信
2013/10/23 职场文书
2014年管理工作总结
2014/11/22 职场文书
3.15消费者权益日活动总结
2015/02/09 职场文书
2016猴年开门红标语口号
2015/12/26 职场文书
新课程改革心得体会
2016/01/22 职场文书
Python利器openpyxl之操作excel表格
2021/04/17 Python
Python代码风格与编程习惯重要吗?
2021/06/03 Python
MySQL中一条SQL查询语句是如何执行的
2022/04/08 MySQL
Windows 64位 安装 mysql 8.0.28 图文教程
2022/04/19 MySQL