首页 新闻 搜索 专区 学院

相同的JS代码 IE11正常运行 IE10却报错 说缺少分号

0
悬赏园豆:10 [已解决问题] 解决于 2020-04-10 20:14

我其实是想自己自定义一个函数,来获取元素的样式,解决一下IE的兼容性问题,但是在IE11中运行没问题,而在IE10中却说我少了个分号,在其他浏览器也都是正常的

完整代码如下

<!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) {
            return getComputedStyle(obj, null)[name] || obj.currentStyle[name];
        }
        window.onload = function () {
            let box = document.querySelector("div");
            let btn = document.querySelector("button");
            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>

截图如下:
IE11中正常运行

IE10 则报错 说我在第18行上了一个分号

webstorm中的代码截图

陈太浪的主页 陈太浪 | 初学一级 | 园豆:138
提问于:2020-04-10 19:27
< >
分享
最佳答案
0

16行括号结束后要打分号

收获园豆:10
Cgrain | 小虾三级 |园豆:1096 | 2020-04-10 20:01

那个地方没有必要加分号 但是我还是试过 没用

陈太浪 | 园豆:138 (初学一级) | 2020-04-10 20:02

@陈太浪: let 的原因,let 改成var 就可以了, let 是es6 ,ie10只支持es5

Cgrain | 园豆:1096 (小虾三级) | 2020-04-10 20:10

@Cgrain: 一语惊醒梦中人 谢谢大佬 解决了

陈太浪 | 园豆:138 (初学一级) | 2020-04-10 20:13

@陈太浪: let ,const 后面都会转换成var 的,你可以用打包工具转换一下看看,是不是,我也
** 没有证明过 **

Cgrain | 园豆:1096 (小虾三级) | 2020-04-10 20:39

@Cgrain: ok 我试试

陈太浪 | 园豆:138 (初学一级) | 2020-04-10 20:40
其他回答(1)
0

是因为加载的时候你的符号是 中文的其他的自动转换了

琦渊 | 园豆:202 (菜鸟二级) | 2020-04-10 19:39

我的符号都是英文的啊 没有出现中文符号

支持(0) 反对(0) 陈太浪 | 园豆:138 (初学一级) | 2020-04-10 19:40

@陈太浪: 你删除后 加空格重新打一次

支持(0) 反对(0) 琦渊 | 园豆:202 (菜鸟二级) | 2020-04-10 19:42

@琦渊: 没有用

支持(0) 反对(0) 陈太浪 | 园豆:138 (初学一级) | 2020-04-10 19:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册