博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cssText()
阅读量:5309 次
发布时间:2019-06-14

本文共 909 字,大约阅读时间需要 3 分钟。

1 cssText

一般情况下我们用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(“样式”);

obj.style.cssText=”样式”;

上面的代码我们可以修改成:感谢sliuqin的在留言中的斧正

element.style.cssText(“width:20px;height:20px;border:solid 1px red;”)

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;’

转载于:https://www.cnblogs.com/flxy-1028/p/6009633.html

你可能感兴趣的文章
SQL-记录表历史
查看>>
Magicodes.Admin.Core开源框架总体介绍
查看>>
python面向对象基础
查看>>
vim编辑器的基本用法
查看>>
利用文本编辑器输入Hello.java,并在JDK环境下编译和运行。请将程序编译、运行的结果...
查看>>
HDU3870- intervals(差分约束)
查看>>
斯坦福机器学习实现与分析之二(线性回归)
查看>>
【bzoj3282】Tree LCT
查看>>
边工作边刷题:70天一遍leetcode: day 62-1
查看>>
centos中YUM安装后文件的常见路径
查看>>
链路聚合的优点
查看>>
gdb core调试
查看>>
Centos7下安装与卸载Jdk1.8
查看>>
POJ1328Radar Installation贪心+模拟队列+结构体排序+运算符重载+构造函数
查看>>
EOF:getchar()函数返回的一个特殊值
查看>>
ms-sql 转换成带千分位,并保留两位小数
查看>>
自动装箱、自动拆箱
查看>>
BZOJ3171: [Tjoi2013]循环格
查看>>
百度地图
查看>>
java的第3次作业
查看>>