获取元素的style样式(内联,内部)
2015-09-26 11:24
811 查看
我们在实际应用中,经常会获取元素的样式,
我们会这样获取:
执行结果
我们看结果,好的,没问题,获取出来了,但是实际应用中,我们是这样用的吗?不是,我们是这样用的
看起来没问题是吧,好的,我们测一下结果
结果很惊讶,这是为什么?
然后顺利的得到了这样的结果
我们会这样获取:
获取内嵌样式
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>获取非行间元素样式</title> <style type="text/css"></style> </head> <body> <div id='test' style="width:100px; height:100px; background-color:red;" >style</div> <script type="text/javascript"> var test = document.getElementById('test'); var a = test.style.width; alert(a); </script> </body> </html>
执行结果
我们看结果,好的,没问题,获取出来了,但是实际应用中,我们是这样用的吗?不是,我们是这样用的
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>获取非行间元素样式</title> <style type="text/css"> #test{ width: 100px; height: 100px; background-color: red; } </style> </head> <body> <div id='test'>style</div> <script type="text/javascript"> var test = document.getElementById('test'); var a = test.style.width; alert(a); </script> </body> </html>
看起来没问题是吧,好的,我们测一下结果
结果很惊讶,这是为什么?
获取非行间样式(内部样式)
其实解决方式是这样的,<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>获取非行间元素样式</title> <style type="text/css"> #test{ width: 100px; height: 100px; background-color: red; } </style> </head> <body> <div id='test'>style</div> <script type="text/javascript"> /* *获取元素的非行间样式 * * oDiv -> dom元素对象 * attr -> style属性 * *返回值 -> style属性的值 **/ function getStyle(oDiv, attr){ if(oDiv.currentStyle){ //针对IE浏览器 return oDiv.currentStyle[attr]; }else{ //Firefox浏览器 return getComputedStyle(oDiv, false)[attr]; } } var test = document.getElementById('test'); var a = getStyle(test, 'width'); alert(a); </script> </body> </html>
然后顺利的得到了这样的结果
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- IE8开发人员工具教程(二)
- 在flex中执行一个javascript方法的简单方式
- Flex结合JavaScript读取本地路径的方法
- PowerShell中执行Javascript的方法示例
- javascript asp教程第六课-- response方法
- javascript asp教程More About Recordsets
- javascript asp教程第十二课---session对象