<dl id="LBie">
           <dt>类别:</dt>
           <dd class="ddSpecial"><a href="#">不限</a></dd>
           <dd><a href="#">租住宅</a></dd>
           <dd><a href="#">租商铺</a></dd>
           <dd><a href="#">短租</a></dd>
           <dd><a href="#">租写字楼</a></dd>
           <dd><a href="#">租厂房</a></dd>
           <ul>
              <li><a href="#">一房</a></li>
              <li><a href="#">二房</a></li>
              <li><a href="#">三房</a></li>
              <li><a href="#">四房</a></li>
              <li><a href="#">四房以上</a></li>
              <li><a href="#">合租</a></li>
              <li><a href="#">公寓</a></li>
              <li><a href="#">别墅</a></li>
           </ul>
            <ul>
               <li><a href="#">商住公寓</a></li>
               <li><a href="#">甲级办公</a></li>
               <li><a href="#">5A办公</a></li>
               <li><a href="#">独栋办公</a></li>
               <li><a href="#">spho办公</a></li>
               <li><a href="#">办公楼盘</a></li>
            </ul>
            <ul>
                <li><a href="#">沿街门面</a></li>
                <li><a href="#">商业街铺</a></li>
                <li><a href="#">市场铺位</a></li>
                <li><a href="#">住宅底商</a></li>
                <li><a href="#">卖场</a></li>
                <li><a href="#">购物中心</a></li>
            </ul>
            <ul>
               <li><a href="#">工业厂房</a></li>
               <li><a href="#">独院厂房</a></li>
               <li><a href="#">仓储仓库</a></li>
               <li><a href="#">工业园区</a></li>
               <li><a href="#">土地租赁</a></li>
               <li><a href="#">物流仓库</a></li>
            </ul>
            <ul>
               <li><a href="#">日租房</a></li>
               <li><a href="#">短租公寓</a></li>
               <li><a href="#">短租房</a></li>
               <li><a href="#">自助公寓</a></li>
            </ul>
        </dl>$("dl#LBie dd:eq(1) a").click(function(){
   $("dl#LBie ul").css("display","none");
   $("dl#LBie dd a").css("color","#080270");
   $(this).css("color","#f00");
   $("dl#LBie ul:eq(0)").css("display","block");
 });
  $("dl#LBie dd:eq(2) a").click(function(){
   $("dl#LBie ul").css("display","none");
   $("dl#LBie dd a").css("color","#080270");
   $(this).css("color","#f00");
   $("dl#LBie ul:eq(1)").css("display","block");
 });
  $("dl#LBie dd:eq(3) a").click(function(){
   $("dl#LBie ul").css("display","none");
   $("dl#LBie dd a").css("color","#080270");
   $(this).css("color","#f00");
   $("dl#LBie ul:eq(2)").css("display","block");
 });
  $("dl#LBie dd:eq(4) a").click(function(){
   $("dl#LBie ul").css("display","none");
   $("dl#LBie dd a").css("color","#080270");
   $(this).css("color","#f00");
   $("dl#LBie ul:eq(3)").css("display","block");
 });
  $("dl#LBie dd:eq(5) a").click(function(){
   $("dl#LBie ul").css("display","none");
   $("dl#LBie dd a").css("color","#080270");
   $(this).css("color","#f00");
   $("dl#LBie ul:eq(4)").css("display","block");
 });
 $("dl#LBie dd:eq(6) a").click(function(){
   $("dl#LBie ul").css("display","none");
   $("dl#LBie dd a").css("color","#080270");
   $(this).css("color","#f00");
   $("dl#LBie ul:eq(5)").css("display","block");
 });  这段的目的是实现:当单击第i个dd时,显示第i+1个的ul(默认都隐藏)。如:单击第0个dl时,显示第1个ul。代码没错,但是利用率较低。当遇到几十个ul时就会很不方便。思考了许久,始终得不到好的解决方法,特此发上来请教各位。忘不赐吝教

解决方案 »

  1.   

    1,2,3,4你使用for(i=0;i<7;i++)替代
      

  2.   


    var n = $("#LBie>ul").size()+1;
    for(var i=0;i<n;i++){
        $("dl#LBie dd:eq(" + (i+1) + ") a").click(function(){
           $("dl#LBie ul").css("display","none");
           $("dl#LBie dd a").css("color","#080270");
           $(this).css("color","#f00");
           $("dl#LBie ul:eq(" + i + ")").css("display","block");
         });
    }
      

  3.   


               $("dl#LBie ul").css("display","none"); //默认隐藏
                $("dl#LBie dd a").css("color","#080270");
            $("#LBie dd:gt(0)").click(function(){       //索引大于0的元素
                var index = $("#LBie dd").index($(this))-1;
                $("dl#LBie ul").hide(); 
                $("dl#LBie dd a").css("color","#080270");
                $(this).css("color","#f00");
                $("dl#LBie ul:eq(" + index + ")").show();
            });
      

  4.   

    楼上诸位写得。。不废话,上代码:
    $("#LBie dd a").each(function(index,data){
    $(this).click(function(){
    $(this).css("color","#080270");
    $("#LBie ul").eq(index-1).css("display","block").siblings('ul').hide();
    })
    })