javascript - 令人困惑的 Safari Javascript 问题

标签 javascript safari

我下面的代码在 Firefox 中完美运行..但在 Safari 中不行。当我使用 Safari 调试时,它只是说存在解析错误,就在第一个左大括号 {

之后
function setVals4(class,val) 
{
    var array = document.getElementsByTagName("select");

    for (var g = 0; g < array.length; g++)
    {
        sel = array[g]
        //sel = document.myform.sel[g];

        for (i=0; i<sel.options.length; i++) 
        {
            //alert(sel.options[i].value)

            if (sel.className == class) 
            {
                if (sel.options[i].value == val) 
                {
                    sel.selectedIndex = i;
                }
            }       
        }       
    }
}

有谁能解释一下为什么吗?救命!

最佳答案

class 是 JavaScript 中的保留字,尽管它没有用于任何用途(它在 ECMA spec 中被列为“ future 保留字”)。如果您将参数名称更改为 clazz (这是常见的事情)或 foo 或其他名称,应该可以解决问题。

(在 sel = array[g] 之后还缺少一个分号,但是没关系,该语言此时允许 semicolon insertion。不过,最好包含它们,特别是如果您想要的话到 minify/pack/compress 您的代码。)

关于javascript - 令人困惑的 Safari Javascript 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2326823/

相关文章:

html - 与页面底部对齐的按钮与移动版 Safari 的菜单栏冲突

html - 如何解决 safari 中手写 html dingbat 字体大小问题

javascript - JQuery 更改功能在 safari 浏览器中不起作用

javascript - 显示MySQL数据库中行的统计结果并在ChartJs中显示

javascript - npm 错误 : cb() never called, 我该怎么办?

javascript - 为什么 jQuery 的 $.each 将数字转换为对象?

CSS:为什么 Safari 中有一些灰色的奇怪东西?

iphone - 如何通过 Safari URL 启动我的 iPhone 应用程序

javascript - 在 react 中将 redux prop 从容器传递到演示组件时,出现 TypeError : _this2. props.handleClick 不是一个函数

javascript - 如何使用 Protractor 从带有 ng-reflect-value 的选择中获取文本?