你把上面代码放单独的JS文件的第一行试试吧, 不是中文问题,可能是编码问题, 用JSP程序容易出这问题

解决方案 »

  1.   

    代码
    h[i].className+=" up";
                d[i].className+=" block";你这部分的加就不必要了吧?
      

  2.   

    可能是你的这个js文件加载进来的时候而其它的body部分的有些内容还没有完全加载完,那么getElementById("tab")这个方法就会发现找不到id="tab"的这个结点,那么就会报错了,你把这个函数放在window.onload=function(){---这里放你上面的js文件里面的代码试试---};表示当文档加载完成之后才执行这个js文件里面的代码,你试试,如果不行,可能就是别的问题,就好好的检查一下你的这个函数
      

  3.   

        var h=document.getElementById("tab").getElementsByTagName("h3");
        var d=document.getElementById("tab").getElementsByTagName("div");
    改成    var h=document.getElementsByTagName("h3");
        var d=document.getElementsByTagName("div");
    试试。
      

  4.   

    window.onload=function(){---这里放你上面的js文件里面的代码试试---};
    这个是写在js文件里么?
      

  5.   

    你的h3和div的数量一样多吗,在一个循环里,用一个参数,如果两个数量不一样,肯定报错
      

  6.   

    window.onload=function(){---这里放你上面的js文件里面的代码试试---};写在页面的js标签里
      

  7.   

    FIREBUG跟一下就知道了啊
    这小问题了啊