Непонятный выпуск Javascript для Safari - PullRequest
2 голосов
/ 24 февраля 2010

Мой код ниже работает в 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 Ответ

4 голосов
/ 24 февраля 2010

class - это зарезервированное слово в JavaScript, хотя оно ни для чего не используется (оно указано как «будущее зарезервированное слово» в спецификации ECMA ). Если вы измените имя вашего параметра на clazz (что обычно) или foo или что-то в этом духе, это должно разобраться.

(Также есть пропущенная точка с запятой после sel = array[g], но это нормально, язык позволяет вставку точки с запятой на этом этапе. Тем не менее, лучше всего включить их, особенно если вы когда-либо захотите minify / pack / сжатый ваш код в реальном времени.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...