function closesubmenu()
{
for (i=1; i<8; i++)
 {
  //subname=eval("submenu" + i);
  if(document.getElementById("submenu" + i)!=null) 
     {
 eval("submenu" + i + ".style.display='none';");
 }
  }  
}
好象是這樣吧

解决方案 »

  1.   

    好用了 但是为什么有这个subname=eval("submenu" + i);就不行呢
      

  2.   

    eval是把字符串轉換為對象,
    如果對象存在的話
    eval("submenu" + i)等效於document.getElementById("submenu" + i)
    如果對象不存在
    eval("submenu" + i)報錯,而document.getElementById("submenu" + i)返回空(null)
      

  3.   

    getElementById是取元素的id,id是个字符串,你subname=eval("submenu" + i);后,subname就不是一个字符串了
    对比一下就知道了
    你的
      subname=eval("submenu" + i);    
      if(document.getElementById(subname)!=null) 
    二楼的
    document.getElementById("submenu" + i)!=null