javascript 一些关于css操作的函数
// 通过样式表 获得css样式
1 2 3 4 5 6 7 8 | //obj 表示dom对象,name 表示css属性 比如width等 function getStyle(obj,name){ if (obj.currentStyle){ return obj.currentStyle[name]; } else { return getComputedStyle(obj, false )[name]; } } |
利用cssText 批量设置元素的属性
obj.style.cssText="width:150px;height:500px;"
和innerHTML一样,cssText很快捷且所有浏览器都支持。此外当批量操作样式时,cssText只需一次reflow,提高了页面渲染性能。
但cssText也有个缺点,会覆盖之前的样式。
但cssText也有个缺点,会覆盖之前的样式。如
1 | < div style="color:red;">TEST</ div > |
1 | div.style.cssText = "width:200px;"; |
这时虽然width应用上了,但之前的color被覆盖丢失了。因此使用cssText时应该采用叠加的方式以保留原有的样式。
1 2 3 4 | function setStyle(el, strCss){ var sty = el.style; sty.cssText = sty.cssText + strCss; } |
使用该方法在IE9/Firefox/Safari/Chrome/Opera中没什么问题,但由于 IE6/7/8中cssText返回值少了分号 会让你失望。
因此对IE6/7/8还需单独处理下,如果cssText返回值没";"则补上
1 2 3 4 5 6 7 8 9 10 11 12 | function setStyle(el, strCss){ function endsWith(str, suffix) { var l = str.length - suffix.length; return l >= 0 && str.indexOf(suffix, l) == l; } var sty = el.style, cssText = sty.cssText; if (!endsWith(cssText, ';' )){ cssText += ';' ; } sty.cssText = cssText + strCss; } |
通过class 获得元素
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | //oParent 表示父元素 sclass 表示子元素的class名字<br>function getByClass(oParent, sClass){ var aEle=oParent.getElementsByTagName( '*' ); var aResult=[]; for ( var i=0;i<aEle.length;i++) { if (aEle[i].className==sClass) { aResult.push(aEle[i]); } } return aResult; } |
分类:
javascript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现