iOS,OSX:const DOM元素的属性是不可变的

时间:2017-01-30 17:00:09

标签: javascript ios macos const

我使用const来使用vanilla JS getElementByID来定义一系列DOM元素。

例如:

const my_text = document.getElementById('my_text');

my_text的属性应该是可变的。

my_text.style.color = 'red';

尽管有口号,但它在iOS或OSX系统上并不起作用。我用Safari和Chrome测试了这个。

奇怪的是,当我在BrowserStack或jsFiddle上测试时,它可以正常工作。

According to MDN const声明创建对值的只读引用。它并不意味着它拥有的值是不可变的,只是不能重新赋值变量标识符。例如,如果内容是对象,这意味着对象本身仍然可以更改。

我在atap.geolytix.net/iconst_fail

创建了一个非常简单的测试页面

应该是这样的:

enter image description here

然而,在IOS或OSX设备上,您只能看到黑色的蓝色和红色。

测试页面的代码如下:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    <style>
        body {
            font-size: 40px;
            font-weight: 700;
            font-family: monospace;
        }
    </style>
</head>

<body>
    <div id="blue">blue</div>
    <div id="red">red</div>
    <div id="green" style="color: green"></div>
</body>

<script type="application/javascript">
    var blue = document.getElementById('blue');
    blue.style.color = 'blue';
    const red = document.getElementById('red');
    red.style.color = 'red';
    const green = document.getElementById('green');
    green.innerHTML = 'green';
</script>

</html>

0 个答案:

没有答案