2010-02-24 55 views
2

我的代碼如下在Firefox中完美工作...但不是在Safari中。當我使用Safari的調試簡單地說,有一個語法錯誤,只是第一個左大括號{之後Baffling Safari Javascript問題

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; 
       } 
      }  
     }  
    } 
} 

任何人都可以找出原因?幫幫我!

回答

4

class是JavaScript中的一個保留字,即使它不用於任何內容(在ECMA spec中它被列爲「未來保留字」)。如果您將參數名稱更改爲clazz(通常是這樣)或foo或其他內容,則應將其分類。

(還有sel = array[g]後缺少分號,不過沒關係,語言允許semicolon insertion在這一點。不過,最好的,包括他們,特別是如果你想minify/pack/compress代碼下的行)

+0

完美。我無法相信我沒有看到......謝謝! – Fearghal 2010-02-24 14:56:49

+0

:-)很高興幫助。 – 2010-02-24 14:57:41