现有如下一个左边菜单边,查看的页面源代码为:
 <li><a onclick="openCloseFolder(this)"><span>我的事务</span></a>
<ul>

<li><a href="....." target="mainboard" onclick="openCloseTab(this)"><span>代办事宜</span></a></li>

<li><a href="" target="mainboard" onclick="openCloseTab(this)"><span>我的项目</span></a></li>

<li><a href="" target="mainboard" onclick="openCloseTab(this)"><span>历史项目</span></a></li>

</ul>
</li>现目前的效果是:页面加载后,要手动去点"我的事务",把"我的事务"下的三个菜单扩展开,然后,再点"代办事宜",才能显示待办事宜,我现在想改成,该菜单页面加载时onload,自动触发"我的事务"的onclick事件,显示的菜单为"我的事务"已扩展开的菜单,同时,自动触发"待办事宜"的onclick事件,让页面显示代办事宜,我自己的思路是,通过dom查找"我的事务",的父节点的爷节点,找到"我的事务"对应的<a>标记对应,来触发,不知是否可行?或者哪位有更好的解决办法?(<a>标记没有id和name)

解决方案 »

  1.   

    能部能寫個腳本1 依次運行你要做的 onclick 事件,然後在body 裏面添加onload事件來運行腳本1
      

  2.   

    给a一个id<script>
    //function openCloseTab(obj){alert(obj.target)}
    //function openCloseFolder(obj){alert(obj.id)}
    window.onload=function(){
      var obj = document.getElementById("m1");
      var obj1 = obj.parentNode.getElementsByTagName("ul")[0].getElementsByTagName("a")[0];
      if(document.all){
        obj.click();
        obj1.click();
      }
      else{
        obj.onclick();
        obj1.onclick();
      }
    }
    </script>
    <ul>
    <li><a id="m1" onclick="openCloseFolder(this)"><span>我的事务 </span> </a> 
    <ul> 
    <li><a href="....." target="mainboard" onclick="openCloseTab(this)"> <span>代办事宜 </span> </a> </li> 
    <li> <a href="" target="mainboard" onclick="openCloseTab(this)"> <span>我的项目 </span> </a> </li> 
    <li> <a href="" target="mainboard" onclick="openCloseTab(this)"> <span>历史项目 </span> </a> </li> 
    </ul> 
    </li>
    </ul>
      

  3.   

    无论怎样,你都通过输入参数来决定当前应该展开哪个节点对不?既然都传参数,为什么不在onload之后通过参数跳转页面呢?树形菜单的展开可以根据cookies来展开,就是你上次点击的时候把点击的项的id记录在cookies,下次页面装载的时候,判断cookies是否为空,不为空就展示cookies保存的项。这个功能完全可以独立写在属性菜单类里面,以跟页面传进来的参数分离,方便代码维护和转移。
      

  4.   

    用jquery直接找我的事务'<script src="js/jquery-1.3.2.js"></script>
    <script>
    function openCloseTab(obj){alert(obj.target)}
    function openCloseFolder(obj){alert(obj.id)}
    window.onload=function(){
      var obj = $("a:has(span:contains('我的事务'))")[0];
      var obj1 = obj.parentNode.getElementsByTagName("ul")[0].getElementsByTagName("a")[0];
      if(document.all){
        obj.click();    
        obj1.click();    
      }
      else{
        obj.onclick();
        obj1.onclick();
      }    
    }
    </script>
    <ul>
    <li><a onclick="openCloseFolder(this)"><span>我的事务 </span> </a> 
    <ul> 
    <li><a href="....." target="mainboard" onclick="openCloseTab(this)"> <span>代办事宜 </span> </a> </li> 
    <li> <a href="" target="mainboard" onclick="openCloseTab(this)"> <span>我的项目 </span> </a> </li> 
    <li> <a href="" target="mainboard" onclick="openCloseTab(this)"> <span>历史项目 </span> </a> </li> 
    </ul> 
    </li>
    </ul>
      

  5.   

    body里面加onload标签,onload=函数
      

  6.   

    恩 body里直接 onload 就可以了
    <body onload="function 函数()">
      

  7.   

    $(document).ready(function() { 
    //这里为你要加载的内容//});