开发者社区> 问答> 正文

一个IE6 JS报错的问题?报错


初学JS,碰到一个问题,IE6下报错,其他浏览器都正常,什么原因?

function setTab(name,cursel,n){
      for(i=1;i<=n;i++){
      var menu=document.getElementById(name+i);
      var con=document.getElementById("con_"+name+"_"+i);
      menu.className=i==cursel?"mon1":"";
      con.style.display=i==cursel?"block":"none";
    } 
  }

注释掉这两行,就不再报错

menu.className=i==cursel?"mon1":"";
con.style.display=i==cursel?"block":"none";

展开
收起
爱吃鱼的程序员 2020-06-22 22:15:50 512 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    menu.className=i==cursel?"mon1":"";

    改成:

    menu.className=(i==cursel?"mon1":"");

    不确定IE6是否支持className,但是你这样写本身貌似就有问题吧..

    网站下的一个模板,里面的js,加了()还是有问题

    for(i=1;i<=n;i++){

    最好改为

    for(vari=1;i<=n;i++){

    没有全部代码看不出来

    name+i改为name+i.toString(),不知道IE6这个计算正确不0.0

    ie6至少会报哪一行出错吧,这样好定位问题sorry~sorry~已经补充
    1 menu.className=(i==cursel)?"mon1":"";
    2020-06-22 22:16:07
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript函数 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载