2010-04-23 75 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