$(document).ready(function(){  $('.upfold').click(function(){
             $(this).parent().parent().parent().find('div#upfoldsort').toggle();
            
  
});
});
连续3个父级才找到请问有没有简洁点的方法我的HTML是<div class="a">
      <ul>
        <li><a href="#" class="upfold"></a></li>
      </ul>
</div>
<div class="secondsort" id="upfoldsort" >
<ul>
<li>3333</li>
</ul>
</div>还有另外一个问题,AJAX获取到的数据输出到HTML后这段代码就失效了,请问为何,FF上看到的代码跟静态的都是一样的,就是点击不展开

解决方案 »

  1.   

    $('#upfoldsort').toggle();直接写不就行了?
      

  2.   

    你都已经有了CLASSNAME。。IDNAME为什么还要这么麻烦了。。
      

  3.   

    不行,这样他怎么点击都是展开第一个,因为他不止一段,可能是上前段一样的代码,我只要展开当前DIV的
      

  4.   

    加EACH遍寻一次吗?我试过一下,然后浏览器崩溃了
      

  5.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
        <script>        $(document).ready(function () {            $('.upfold').click(function () {
                    $('#upfoldsort').toggle();
                });
            });
        </script>
    </head>
    <body>
        <div class="a">
            <ul>
                <li><a href="#" class="upfold">ddd</a></li>
            </ul>
        </div>
        <div class="secondsort" id="upfoldsort">
            <ul>
                <li>3333</li>
            </ul>
        </div>
    </body>
    </html>
      

  6.   

    <div class="sp">
                                  <ul class="firstsort">
                                  <li class="osone"><a href="javascript:void(0)"  class="upfold">品</a></li>
                                  <li class="ostwo"></li>
                                  <li class="osoperation"><a href="#" class="sortcopyreader"></a><a href="#" class="softdelete"></a></li>
                                  <li class="osseqencing"><a href="#" class="softup"></a><a href="" class="softdown"></a></li>
                                  <li class="oscommonly"><a href="#">添加</a></li>
                                  </ul>
                                  <div class="secondsort" id="upfoldsort" >
                                       <ul class="sd">
                                           <li class="osone"></li>
                                           <li class="ostwo">餐</li>
                                           <li class="osoperation"><a href="#" class="sortcopyreader"></a><a href="#" class="softdelete"></a></li>
                                           <li class="osseqencing"><a href="#" class="softup"></a><a href="" class="softdown"></a></li>
                                           <li class="oscommonly"><a href="#">添加</a></li>
                                       </ul>
                                       <ul class="sd">
                                           <li class="osone"></li>
                                           <li class="ostwo">水</li>
                                           <li class="osoperation"><a href="#" class="sortcopyreader"></a><a href="#" class="softdelete"></a></li>
                                           <li class="osseqencing"><a href="#" class="softup"></a><a href="" class="softdown"></a></li>
                                           <li class="oscommonly"><a href="#">添加</a></li>
                                       </ul>
                                       <ul class="sd">
                                           <li class="osone"></li>
                                           <li class="ostwo">水</li>
                                           <li class="osoperation"><a href="#" class="sortcopyreader"></a><a href="#" class="softdelete"></a></li>
                                           <li class="osseqencing"><a href="#" class="softup"></a><a href="" class="softdown"></a></li>
                                           <li class="oscommonly"><a href="#">添加</a></li>
                                       </ul>
                                  </div>
                              </div>.firstsort{float:left; width:712px; margin-top:2px; background:#eeeeee}
    .firstsort li{float:left ;margin-right:2px;  text-align:center;  line-height:27px; height:27px;}
    .sortcopyreader{background:url(../systemImg/edit.gif) no-repeat; width:23px; height:21px; float:left; margin:4px 0 0 47px; display:inline}
    .softdelete{background:url(../systemImg/delete.gif) no-repeat; width:21px ; height:22px; float:left; margin:3px 0 0 12px; display:inline}
    .softup{background:url(../systemImg/up.gif) no-repeat; width:11px; height:16px; float:left; margin:5px 0 0 41px; display:inline}
    .softdown{background:url(../systemImg/down.gif) no-repeat; width:11px; height:16px; float:left; margin:5px 0 0 7px; display:inline}
    .secondsort{float:left; width:712px; margin-top:2px; height:auto; display:none}
    .sd{float:left; width:712px; margin-bottom:2px; height:27px;}
    .sd li{float:left ;margin-right:2px;  text-align:center;  line-height:27px; height:27px;background:#f6f6f6;}
      

  7.   

    如果只有一条数据的确可以用$('id').toggle(); 隐藏展开当是很多条数据的话,点一下就会全部展开我需要的是展开当前的那一条数据,其他还闭合
      

  8.   

    也就是  <div class="a">
            <ul>
                <li><a href="#" class="upfold">ddd</a></li>
            </ul>
        </div>
        <div class="secondsort" id="upfoldsort">
            <ul>
                <li>3333</li>
            </ul>
        </div>
      <div class="a">
            <ul>
                <li><a href="#" class="upfold">ddd</a></li>
            </ul>
        </div>
        <div class="secondsort" id="upfoldsort">
            <ul>
                <li>3333</li>
            </ul>
        </div>  <div class="a">
            <ul>
                <li><a href="#" class="upfold">ddd</a></li>
            </ul>
        </div>
        <div class="secondsort" id="upfoldsort">
            <ul>
                <li>3333</li>
            </ul>
        </div>  <div class="a">
            <ul>
                <li><a href="#" class="upfold">ddd</a></li>
            </ul>
        </div>
        <div class="secondsort" id="upfoldsort">
            <ul>
                <li>3333</li>
            </ul>
        </div>  <div class="a">
            <ul>
                <li><a href="#" class="upfold">ddd</a></li>
            </ul>
        </div>
        <div class="secondsort" id="upfoldsort">
            <ul>
                <li>3333</li>
            </ul>
        </div>
      

  9.   

    你的意思是。。点击品只出来餐或者水。right?
      

  10.   

    对,就是点击那个就展示他下面的那个DIV
    我是新手ID是不是只能唯一,那么改成CLASS可以吧?
      

  11.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
        <script>
            function upclick(eid) {
                $('#' + eid).toggle();
             }      
        </script>
       
    </head>
    <body>
        <div class="a">
            <ul>
                <li><a href="#" class="upfold" onclick="upclick('upfoldsort1')">ddd</a></li>
            </ul>
        </div>
        <div class="secondsort" id="upfoldsort1">
            <ul>
                <li>3333</li>
            </ul>
        </div>
      <div class="a">
            <ul>
                <li><a href="#" class="upfold" onclick="upclick('upfoldsort2')">ddd</a></li>
            </ul>
        </div>
        <div class="secondsort" id="upfoldsort2">
            <ul>
                <li>3333</li>
            </ul>
        </div>  <div class="a">
            <ul>
                <li><a href="#" class="upfold" onclick="upclick('upfoldsort3')">ddd</a></li>
            </ul>
        </div>
        <div class="secondsort" id="upfoldsort3">
            <ul>
                <li>3333</li>
            </ul>
        </div>  <div class="a">
            <ul>
                <li><a href="#" class="upfold" onclick="upclick('upfoldsort4')">ddd</a></li>
            </ul>
        </div>
        <div class="secondsort" id="upfoldsort4">
            <ul>
                <li>3333</li>
            </ul>
        </div>  <div class="a">
            <ul>
                <li><a href="#" class="upfold" onclick="upclick('upfoldsort5')">ddd</a></li>
            </ul>
        </div>
        <div class="secondsort" id="upfoldsort5">
            <ul>
                <li>3333</li>
            </ul>
        </div>
    </body>
    </html>
    试试这个能不能符合你的要求
      

  12.   

    上千条数据ONCLICK没理由写那么多吧AJAX读出来的= =
      

  13.   

    $(document).ready(function(){     $('.upfold').click(function(){
         $(this).closest('div.a').find('div#upfoldsort').toggle();
    });
    });
      

  14.   

    动态生成的需要用到事件委托。$(document).ready(function(){ 
    $('div.a').delegate('.upfold', 'click', function(){
         $(this).closest('div.a').find('div#upfoldsort').toggle();
    });
    });
      

  15.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
        <script>        $(document).ready(function () {            $('.a').click(function () {
                    $(this).next().toggle();
                });
            });
        </script>
    </head>
    <body>
        <div class="a">
            <ul>
                <li><a href="#" class="upfold">ddd</a></li>
            </ul>
        </div>
        <div class="secondsort" id="upfoldsort">
            <ul>
                <li>3333</li>
            </ul>
        </div>
        <div class="a">
            <ul>
                <li><a href="#" class="upfold">ddd</a></li>
            </ul>
        </div>
        <div class="secondsort" id="upfoldsort">
            <ul>
                <li>3333</li>
            </ul>
        </div>
        <div class="a">
            <ul>
                <li><a href="#" class="upfold">ddd</a></li>
            </ul>
        </div>
        <div class="secondsort" id="upfoldsort">
            <ul>
                <li>3333</li>
            </ul>
        </div>
        <div class="a">
            <ul>
                <li><a href="#" class="upfold">ddd</a></li>
            </ul>
        </div>
        <div class="secondsort" id="upfoldsort">
            <ul>
                <li>3333</li>
            </ul>
        </div>
    </body>
    </html>
      

  16.   

    AJAX读取的数据,跟静态的是一样的,为什么展不开
      

  17.   

    AJAX读取的数据跟静态的结构一摸一样,为什么展不开?
      

  18.   

    要在ajax读取后再执行一次            $('.a').click(function () {
                    $(this).next().toggle();
                });
      

  19.   

    但是这个好像只能打开一个LI  $('.a').click(function () {
      $(this).next().toggle();
      });
    如果<div class="a">
            <ul>
                <li><a href="#" class="upfold">ddd</a></li>
            </ul>
        </div>
        <div class="secondsort" id="upfoldsort">
            <ul>
                <li>3333</li>
    <li>3333</li><li>3333</li><li>3333</li>        </ul>
        </div>