2010-04-23 125 views
0

我有以下代碼:問題與IE

function header(){ 
experience += ''; 
var expimage = ''; 
for(var cik=0;cik<experience.length;cik++){ 
    switch(experience[cik]){ 
    case '0': 
    expimage += 'img0'; 
    break; 
    case '1': 
    expimage += 'img1'; 
     break; 
     case '2': 
     expimage += 'img2'; 
     break; 
     case '3': 
     expimage += 'img3'; 
     break; 
     case '4': 
     expimage += 'img4'; 
     break; 
     case '5': 
     expimage += 'img5'; 
     break; 
     case '6': 
     expimage += 'img6'; 
     break; 
     case '7': 
     expimage += 'img7'; 
     break; 
     case '8': 
     expimage += 'img8'; 
     break; 
     case '9': 
     expimage += 'img9'; 
     break; 
    } 
} 
document.getElementById('level').innerHTML = expimage; 
alert(expimage); 
} 

但它只能在Chrome或Mozilla工作。它顯示一個空的警報框,但它可以在Firefox和Chrome上運行。我試圖在每行之後提醒每個變量,並且我注意到問題顯示了當我嘗試提醒(experience [0])時,它顯示未定義,其他步驟正在工作。

+0

任何錯誤在IE瀏覽器來了? – 2010-04-23 18:07:12

+4

僅供參考 - 整個開關語句可以用'expimage + ='img'+ experience [cik];'來代替,假設沒有經驗的某些值會錯過這些情況。 – meagar 2010-04-23 18:09:16

+0

我用的開關,因爲IMG1,IMG2 ...是圖像的URL和圖像上傳到Photobucket或使URL的中心是不是在所有圖像都是相同的。 – coolboycsaba 2010-04-23 18:15:10

回答

0

您能否顯示完整的代碼和HTML,以便我可以看到您如何調用此方法以及「體驗」是如何定義的?

此外,它看起來像你可以用這個替換您的switch語句:

expimage += 'img' + experience[cik]; 
+0

這應該是一個評論,不是答案。 – 2010-04-23 18:22:08

+0

我發現問題: IE不能將字符串拆分爲它的字符,因爲我試圖提醒經驗[0],它說undefined .... – coolboycsaba 2010-04-23 18:42:59

+0

但我不知道如何解決它... – coolboycsaba 2010-04-23 18:43:24

0

變量experience似乎並沒有在任何地方定義後纔可以使用。您可能想將它作爲參數傳遞給函數;你可以修改你的函數接受這樣的說法:

function header(experience) { 
    // .... 
} 

沒有什麼experience更多的信息和被調用header的代碼,它很難更徹底地回答你的問題。

+0

我不認爲這是問題,因爲如果我警告它的工作經驗,問題是隻有當我想分裂成字符 – coolboycsaba 2010-04-23 19:18:30