2010-02-24 5 views
2

내 코드는 Firefox에서 완벽하게 작동하지만 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; 
       } 
      }  
     }  
    } 
} 

사람이 이유를 알아낼 수있는 단지 제 1 개구 중괄호 후, 거기라고? 도움!

답변

4

class은 JavaScript에 예약어입니다. 아무 것도 사용하지 않더라도 (ECMA spec에 "future reserved word"로 표시되어 있습니다). 매개 변수 이름을 clazz (일반적인 것) 또는 foo 또는 그 이상으로 변경하면이를 분류해야합니다.

(또한 sel = array[g] 후 누락 된 세미콜론있다,하지만 당신이 이제까지 minify/pack/compress 코드 다운 - 라인에 원하는 특히, 그것들을 포함, 최고의 언어는 그 시점에서 semicolon insertion 수 있습니다.하지만 괜찮아 .)

+0

완벽합니다. 나는 그걸 보지 못했다니 믿을 수가 없어 ... 고마워! – Fearghal

+0

:-) 도움이 되니 기쁩니다. –