<script src="../js/jquery-1.4.2.js" type="text/javascript"></script>    <script type="text/javascript">
            $(document).ready( function()
            {    
                $(".less").click(function(event)
                {
                 event.stopPropagation();
                });
               
                $(".layer").click(function()
                { 
                  var xx=$(this).children("ul").css("display");
                  if(xx=="block")
                     {
                     $(this).children("ul").css("display","none" );
                     }
                  else
                     {
                     $(this).children("ul").css("display","block" );
                     }      
                 });
             });
    
    </script><ul>
        <li class="layer"><a href="#" onfocus="this.blur()" >新闻资讯</a>
              <ul >
                  <li class="less"><a   href="Newlist.aspx">新闻列表</a></li>
                   <li class="less"><a     href="EditNew.aspx?action=addnew">添加新闻</a></li>
               </ul>
         </li>
          <li class="layer"><a href="#" onfocus="this.blur()" >产品信息</a>
               <ul>
                   <li class="less"><a  href="prolist.aspx">产品列表</a></li>
                   <li class="less"><a  href="addpro.aspx?action=add">添加产品</a></li>
                </ul>
           </li>
                         
            <li class="layer"><a href="#" onfocus="this.blur()" >人力资源</a></li>
</ul>点less下的<a>的时候,less层还是会隐藏。

解决方案 »

  1.   

    挺好的啊
    http://jsfiddle.net/xb9Nf/
    楼主什么浏览器
      

  2.   

      <script type="text/javascript">
      $(document).ready( function()
      {   
      $(".less").click(function(event)
      {
      event.stopPropagation();
    return false;  });
        
      $(".layer").click(function()
      {  
      var xx=$(this).children("ul").css("display");
      if(xx=="block")
      {
      $(this).children("ul").css("display","none" );
      }
      else
      {
      $(this).children("ul").css("display","block" );
      }   
      });
      });
        
      </script><ul>
      <li class="layer"><a href="#" onfocus="this.blur()" >新闻资讯</a>
      <ul >
      <li class="less"><a href="Newlist.aspx">新闻列表</a></li>
      <li class="less"><a href="EditNew.aspx?action=addnew">添加新闻</a></li>
      </ul>
      </li>
      <li class="layer"><a href="#" onfocus="this.blur()" >产品信息</a>
      <ul>
      <li class="less"><a href="prolist.aspx">产品列表</a></li>
      <li class="less"><a href="addpro.aspx?action=add">添加产品</a></li>
      </ul>
      </li>
        
      <li class="layer"><a href="#" onfocus="this.blur()" >人力资源</a></li>
    </ul>
      

  3.   

    return false;
    超链接失效了
      

  4.   

    按照你的HTML结构而言,本不需要什么阻止冒泡啊$(document).ready(function() { 
    $(".layer>a").click(function() {  
    var xx = $(this).parent().children("ul");
    if(xx.size()) {
    xx.css('display') == 'block'? xx.css('display', 'none') : xx.css('display', 'block');
    }
    });  
    });