用cssText批量修改样式
2024-08-30 12:22:53
一般情况下我们用js设置元素对象的样式会使用这样的形式:
var element= document.getElementById(“id”);
element.style.width=”20px”;
element.style.height=”20px”;
element.style.border=”solid 1px red”;
样式一多,代码就很多;而且通过JS来覆写对象的样式是比较典型的一种销毁原样式并重建的过程,这种销毁和重建,都会增加浏览器的开销。
js中有一个cssText的方法:
语法为 : obj.style.cssText=”样式”;
element.style.cssText=”width:20px;height:20px;border:solid 1px red;”;
这样就可以尽量避免页面reflow,提高页面性能。
但是,这样会有一个问题,会把原有的cssText清掉,比如原来的style中有’display:none;’,那么执行完上面的JS后,display就被删掉了。
为了解决这个问题,可以采用cssText累加的方法:
Element.style.cssText += ‘width:100px;height:100px;top:100px;left:100px;’
但是,cssText(假如不为空)在IE中最后一个分号会被删掉,比较BT….
因此,上面cssText累加的方法在IE中是无效的。
最后,可以在前面添加一个分号来解决这个问题:
Element.style.cssText += ‘;width:100px;height:100px;top:100px;left:100px;’
最新文章
- Hololens 手势事件执行顺序
- MySql开始日期、结束日期查询
- Thinkphp3.2中的模板继承
- JDK注解替代Hibernate的Entity映射
- Javascript中的Prototype到底是啥
- 二项堆(一)之 图文解析 和 C语言的实现
- 一款基于jQuery的支持鼠标拖拽滑动焦点图
- hdu 3280 动态规划
- ActionBar官方教程(10)ActionBar的下拉列表模式
- TDirectory.GetCreationTime、TDirectory.SetCreationTime获取和设置文件夹创建时间
- Subsequence(暴力+二分)
- SQLHelper简单版(基础版)
- 26_Json_Example
- svn: keywords
- 细节!重点!易错点!--面试java基础篇(二)
- CreateProcess函数诡异的表现
- 一:webpack 介绍
- 关于new Date()的日期格式处理
- 3 - Two Pointers Algorithm
- git 创建tag , 查看tag , 删除tag