function change()
{
   
   if (event.srcElement.id=="foldheader" || event.target=="foldheader" ) 
   {
      var srcIndex = event.srcElement.sourceIndex
      var nested = document.all[srcIndex+1]
      if (nested.style.display=="none") 
      {
         nested.style.display=''      }
      else 
      {
         nested.style.display="none"
      }
   }
}
JavaScriptGoogle搜狐函数

解决方案 »

  1.   

    为什么不用jquery里边的方法你,jquery里边就兼容了
      

  2.   

    $(".class #id").change(function(){
    if (event.srcElement.id=="foldheader" || event.target=="foldheader" ) 
       {
          var srcIndex = event.srcElement.sourceIndex
          var nested = document.all[srcIndex+1]
          if (nested.style.display=="none") 
          {
             nested.style.display=''      }
          else 
          {
             nested.style.display="none"
          }
       }
    });
      

  3.   

    我发现主要就是document.all只有ie支持,有没有什么方法和document.all的效果一样但是其它浏览器都支持的?
      

  4.   

    那你就在所有相同的节点上加一个class啊比如里边有很多<a class="aaa"/>
    然后
    var obj=$(".aaa");
    $(obj).change(function (){
     if (this.style.display=="none") 
          {
             this.style.display=''      }
          else 
          {
             this.style.display="none"
          }
    });
    我也是JS菜鸟,不知道对不对
      

  5.   

    您写的这个代码是点到那个标签它就显出来了。我的这个需求是点到的这个是父标签,他的下一个【srcindex+1】显示出来
      

  6.   

    一样的,跟js一样,他只是把js里边的东西都封装了还有可以用
    $(".class").hover(function 1(),function 2());
    你去看看类似的方法,这个是个hover事件,当你鼠标点上去的时候执行function 1,离开时执行function 2方法,可能对你这个效果有帮助吧
      

  7.   

    <input id="myId" onclick="change(event)">
    </input>
    <script>
    function change(e)
    {
       
       if (e.srcElement.id=="foldheader" || e.target=="foldheader" ) 
       {
          var srcIndex = e.srcElement.sourceIndex
          var curIndex = (srcIndex+1)+""
          var nested = document.getElementById(curIndex)
          if (nested.style.display=="none") 
          {
             nested.style.display=''      }
          else 
          {
             nested.style.display="none"
          }
       }
    }
    </script>要兼容多浏览器,还是学jQuery,否则实在太累,无数的兼容问题要处理
      

  8.   

    <input id="myId" onclick="change(event)">
    </input>
    <script>
    function change(e)
    {
       
       if (e.srcElement.id=="foldheader" || e.target=="foldheader" ) 
       {
          var srcIndex = e.srcElement.sourceIndex || e.target.sourceIndex
          var curIndex = (srcIndex+1)+""
          var nested = document.getElementById(curIndex)
          if (nested.style.display=="none") 
          {
             nested.style.display=''      }
          else 
          {
             nested.style.display="none"
          }
       }
    }
    </script> nested.style.display=''      }
          else 
          {
             nested.style.display="none"
          }
       }
    }
    </script>郁闷,兼容浏览器真麻烦,还是用 jQuery 吧