obj得到的所有的li,包括一二层判断parentNode是不是menunav就可以区分了

解决方案 »

  1.   

    for(i=0;i <obj.length;i++){ 
      if(obj[i].parentNode.id=="menunav"){
        ... //第一层的操作
      } else {
        ... //第二层的操作
      }
    }
      

  2.   

    我改成这样运行不对:
        var obj = document.getElementById("menunav").getElementsByTagName("li"); 
           
        //点击左侧菜单增加变色效果
        for(i=0;i<obj.length;i++){
        obj[i].onclick=function(){
            
        if(obj[i].parentNode.id=="menunav"){
           this.style.backgroundImage="url(../images/memu_r2_c1.jpg)";
          this.style.color = "#FFFFFF"; //第一层的操作
        } else {
          this.style.backgroundImage="url(../images/memu_r5_c1.jpg)";
          this.style.color = "#FFFFFF";  //第二层的操作
        }
        clearMenu();
        
        }
        } 
        //清除菜单样式
        function clearMenu(){
        for(i=0;i<obj.length;i++){
            
       if(obj[i].parentNode.id=="menunav"){
             obj[i].style.background="url(../images/memu_r9_c1.jpg)";
        obj[i].style.color = "#000000"; 
        } else {
           obj[i].style.background="url(../images/memu_r3_c1.jpg)";
        obj[i].style.color = "#000000"; 
        }
      
        }
        }  不知道是不是我改错了?还是上述说法还需改进一下才行,请fosjos 指点