JavaScript自定义getStyle方法获取元素样式
程序员文章站
2022-06-22 08:09:50
兼容性 兼容性如下图所示 ( "摘自 mdn" ) 解决方法 由于getComputedStyle方法在IE浏览器中只兼容IE9及其以上,而IE8和它之前的浏览器则需要使用currentStyle方法来获取样式,所以我们就可以自定义一个getStyle方法来解决兼容性的问题 代码 自定义getSty ......
兼容性
兼容性如下图所示(摘自 mdn)
解决方法
由于getcomputedstyle方法在ie浏览器中只兼容ie9及其以上,而ie8和它之前的浏览器则需要使用currentstyle方法来获取样式,所以我们就可以自定义一个getstyle方法来解决兼容性的问题
代码
自定义getstyle()代码
function getstyle (obj, name) { if (obj.currentstyle) { return obj.currentstyle[name]; } else { return getcomputedstyle(obj)[name]; } }
完整html代码
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>getstyle</title> <style> div{ width: 200px; height: 200px; background-color: brown; } </style> <script> function getstyle (obj, name) { if (obj.currentstyle) { return obj.currentstyle[name]; } else { return getcomputedstyle(obj)[name]; } } window.onload = function () { // let box = document.queryselector("div"); var box = document.getelementsbytagname("div")[0]; var btn = document.getelementsbytagname("button")[0]; box.style.width = "250px"; box.style.height = "250px"; box.style.backgroundcolor = "skyblue"; btn.onclick = function () { alert(getstyle(box, "backgroundcolor")); }; }; </script> </head> <body> <div></div> <button>fun</button> </body> </html>
运行结果
-
ie8
2.ie11
3.chrome
4.firefox
上一篇: JavaScript 中的三位一体
下一篇: JavaScript中的var与作用域
推荐阅读
-
js 获取class的元素的方法 以及创建方法getElementsByClassName_javascript技巧
-
javascript获取作用在元素上面的样式属性代码_javascript技巧
-
JS获取节点的兄弟,父级,子级元素的方法_javascript技巧
-
js中利用tagname和id获取元素的方法_javascript技巧
-
js获取隐藏元素宽高的实现方法_javascript技巧
-
用JavaScript获取伪元素(Pseudo-Element)属性的方法详解
-
javascript获取元素的计算样式
-
javascript获取元素的计算样式
-
vue如何获取自定义元素属性参数值的方法
-
vue如何获取自定义元素属性参数值的方法