document.all.childNode.style.display="none"http://lucky.myrice.com/javascriptexam/index.html

解决方案 »

  1.   

    下面是个例子,我自已写的,参考参考。
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"><BR><BR><BR><BR><BR><BR><BR><BR>
    <script language="JavaScript1.2"> 
    NS4 = (document.layers) ? 1 : 0;
    IE4 = (document.all) ? 1 : 0;
    ver4 = (NS4 || IE4) ? 1 : 0;
     //子菜单全部hidden
    function initIt(){    
    if (!ver4) return;    
    if (NS4) {        
    for (i=0; i<document.layers.length; i++) {            
    whichEl = document.layers[i];            
    if (whichEl.id.indexOf("Child") != -1) 
    whichEl.visibility = "hide";       
    }        
    arrange();    
    }    
    else {        
    divColl = document.all.tags("DIV");        
    for (i=0; i<divColl.length; i++) {            
    whichEl = divColl(i);            
    if (whichEl.className == "child"||whichEl.name=="Cchild") 
    whichEl.style.display = "none";        
    }    
    }
    }
    //第一级菜单
    function expandIt(el,n) { 
    var childcount,Cchildcount;
    childcount=0;
    Cchildcount=0;
    if (!ver4) return;   
    if (IE4) { 
     
    child=el+"Child"+n;
    divColl = document.all.tags("DIV");   
    //下级菜单的个数     
    for (i=0; i<divColl.length; i++) {            
    whichEl = divColl(i);            
    if (whichEl.id == child) 
      childcount++;  

     
    whichEl1 = eval(el + "Child"+n);
    if(childcount<=1){
    //alert(whichEl1[0].style.display)        
    if (whichEl1.style.display == "none") {            
    whichEl1.style.display = "block";        
    }       
    else {   
    whichEl1.style.display = "none";  

    //把第三级的菜单给 合起来
    divColl = document.all.tags("DIV"); 
    for (i=0; i<divColl.length; i++) {            
    wh = divColl(i);  
    //alert(wh.id.substr(6,1));
    if (wh.id.substr(6,1) ==n )
    wh.style.display="none";
    } }
    }
    //child有多个的话
    else{

    if (whichEl1[0].style.display == "none") { 
    for(i=0;i<whichEl1.length;i++)         
    whichEl1[i].style.display = "block";        
    }       
    else {  
    for(i=0;i<whichEl1.length;i++)         
    whichEl1[i].style.display = "none"; 
    //把第三级的菜单给 合起来
    divColl = document.all.tags("DIV"); 
    for (i=0; i<divColl.length; i++) {            
    wh = divColl(i);  
    //alert(wh.id.substr(6,1));
    if (wh.id.substr(6,1) ==n )
    wh.style.display="none";
    }
    //initIt();
    }
    }
    }    
    else {  /*不是IE 浏览器和话*/      
    whichEl = eval("document." + el + "Child");
    for(i=1;i<=numTotal;i++){
    whichEl = eval("document." + scores[i] + "Child");
    if(whichEl!=whichEl1) {
    whichEl.visibility = "hide";
    }
    }        
    if (whichEl.visibility == "hide") {            
    whichEl.visibility = "show";        
    }        
    else {            
    whichEl.visibility = "hide";        
    }        
    arrange();    
    }
    }
    //第二级
    function exchildIt(el,n) { 
    var childcount,Cchildcount;
    childcount=0;
    Cchildcount=0;
    if (!ver4) return;   
    if (IE4) { 
     
    Cchild="CChild"+n;
    divColl = document.all.tags("DIV");  
    //取得下级菜单的个数      
    for (i=0; i<divColl.length; i++) {            
    whichEl = divColl(i);            
    if (whichEl.id ==Cchild ) 
      Cchildcount++;

    //alert(Cchildcount)       
    whichEl1 = eval(el + "Child"+n);
    if(Cchildcount<=1){
    //alert(whichEl1[0].style.display)        
    if (whichEl1.style.display == "none") {            
    whichEl1.style.display = "block";        
    }       
    else {            
    whichEl1.style.display = "none";        
    }
    }
    //child有多个的话
    else{
    if (whichEl1[0].style.display == "none") { 
    for(i=0;i<whichEl1.length;i++)         
    whichEl1[i].style.display = "block";        
    }       
    else {  
    for(i=0;i<whichEl1.length;i++)         
    whichEl1[i].style.display = "none";  
    }
    }
    }    
    else {  /*不是IE 浏览器和话*/      
    whichEl = eval("document." + el + "Child");
    for(i=1;i<=numTotal;i++){
    whichEl = eval("document." + scores[i] + "Child");
    if(whichEl!=whichEl1) {
    whichEl.visibility = "hide";
    }
    }        
    if (whichEl.visibility == "hide") {            
    whichEl.visibility = "show";        
    }        
    else {            
    whichEl.visibility = "hide";        
    }        
    arrange();    
    }
    }
    onload = initIt;</script>    <div id='KBParent1' class='parent' onClick="expandIt('P','1'); return false">
         第一级  
        </div>
        <div id='PChild1' class='child' onClick="exchildIt('C','11'); return false"> 
          第二级<br>
        </div>
        <div id='CChild11'  name='Cchild'> 
           第三级<br>
        </div>
        <div id='CChild11'   name='Cchild'> 
           第三级<br>
        </div>
      
        
        
        
    <div id='KBParent2' class='parent' onClick="expandIt('P','2'); return false">
         第一级  
        </div>
        <div id='PChild2' class='child' onClick="exchildIt('C','21'); return false"> 
          第二级<br>
        </div>
        <div id='CChild21'  name='Cchild'> 
           第三级<br>
        </div>
        <div id='CChild21'   name='Cchild'> 
           第三级<br>
        </div>
      <div id='PChild2' class='child' onClick="exchildIt('C','22'); return false"> 
          第二级<br>
        </div>
        <div id='CChild22'  name='Cchild'> 
           第三级<br>
        </div>
        <div id='CChild22'   name='Cchild'> 
           第三级<br>
        </div>
        <div id='CChild22'   name='Cchild'> 
           第三级<br>
        </div>
        <div id='CChild22'   name='Cchild'> 
           第三级<br>
        </div>
        <div id='CChild22'   name='Cchild'> 
           第三级<br>
        </div>
    <!--
    格式:第二级的id由第一级expandIt('P','2')组成PChild2
          第三级的id由第二级exchildIt('C','23')组成CChild23-->
    <div id='PChild2' class='child' style="" onClick="exchildIt('C','23'); return false"> 
          <a href=#>第二级</a><br>
        </div>
        <div id='CChild23'  name='Cchild'> 
           <a href=#>第三级</a><br>
        </div>
        <div id='CChild23'   name='Cchild'> 
           第三级<br>
        </div>
        <div id='CChild23'   name='Cchild'> 
           第三级<br>
        </div>
        <div id='CChild23'   name='Cchild'> 
           第三级<br>
        </div>