<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="../lib/jquery1.6.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(
function() {
firefox中实现
$("#fq > li").click(
function(){
$(this).next().slideToggle();
}
);
//ie中实现
$("#fq > li").click(
function(){
$(this).find("ul").slideToggle();
}
);
});
</script></head>
<html>
 <body>
     <ul id="fq">
        <li>菜单1</li>
  <ul>
           <li>子菜单1</li>
           <li>子菜单2</li>
        </ul>
        <li>菜单2</li>
  <ul>
           <li>子菜单1</li>
           <li>子菜单2</li>
        </ul>
     </ul>
</body>
</html>再不加ID,name,CLASS的情况下,有能在IE和FIREFOX中同时实现的方法吗?

解决方案 »

  1.   


    $("#fq > li").click(
        function(){
            //$(this).next("ul").slideToggle();    
            var index = $("#fq").children("li").index($(this));
            var ul = $(this).parent().find("ul").eq(index);
            ul.slideToggle();
        }
    );
    })上次说了你html不规范 。
    - -  ,你还要 ~ 无语了 。
      

  2.   

    说原因就是因为你的html导致 对$(this)的理解不同 .
      

  3.   

    而且你这个点击子菜单 也会触发事件 。
    建议加class 区分下 。那会方便很多 。
      

  4.   


    $(document).ready(function() {
        $("#fq > li").click(function(e){
            if($(e.target).parent().attr("id")!="fq") return;
            else{
               var index = $("#fq").children("li").index($(this));
               var ul = $(this).parent().find("ul").eq(index);
               ul.slideToggle();
            }
        });
    });以前学习了别人的 。