在此代码块中,我在 IE11 的第一行发现“SCRIPT1010:预期标识符”错误。这在所有其他主要浏览器中都能完美运行。
for (let [key, value] of Object.entries(CompanySettings)) {
if (value == true) {
document.getElementById(key).removeAttribute("checked");
}
if (value == false) {
document.getElementById(key).setAttribute("checked", "no");
}
}
我假设这是因为它是一个 ES6 特性,在 IE 中不可用,但我想知道是否有一个普通的旧 JS 替代品我可以用于 let..of..
在 IE11 中有效。我并不是真的有兴趣添加一个额外的库来运行这个 block 。
最佳答案
你可以拿一个for ... in
statement并迭代键。
for (var key in CompanySettings) {
if (CompanySettings[key]) { // assuming true or false values
document.getElementById(key).removeAttribute("checked");
} else {
document.getElementById(key).setAttribute("checked", "no");
}
}
也许您需要对非自己的属性(property)进行另一次检查
for (var key in CompanySettings) {
if (!CompanySettings.hasOwnProperty(key)) continue;
if (CompanySettings[key]) { // assuming true or false values
document.getElementById(key).removeAttribute("checked");
} else {
document.getElementById(key).setAttribute("checked", "no");
}
}
关于javascript - IE11 Javascript : let [array] of object. 条目 "SCRIPT1010: Expected identifier"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60202966/