令人困惑的Safari Javascript问题

时间:2010-02-24 14:48:51

标签: 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;
                }
            }       
        }       
    }
}

任何人都可以找出原因吗?救命啊!

1 个答案:

答案 0 :(得分:4)

class是JavaScript中的保留字,即使它没有用于任何内容(它在ECMA spec中列为“未来保留字”)。如果您将参数名称更改为clazz(这是常见的事情)或foo或其他内容,则应将其排序。

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