2012-02-18 10 views
0

以下はサンプルコードです。私がしたいのは、特定のインデントされたdivの上にある "toggle"リンクをクリックしたときです。その下にdiv.indentedを置くだけで、他のインデントされた要素には影響しません。divのレイアウトを変更することはできませんjqueryでアクセスする方法を理解する必要があります。要素の行の「次の」divにアクセスする方法

彼らは互いに同じdiv要素にあった場合、私は、私が使用することができ疑う:だから機能の並べ替えを探して

jQuery(this).siblings(".indented").slideToggle(500); 

....私は.next(のように使用することができますか)?しかし、それはどちらもうまくいかないようです。

<script type="text/javascript"> 
    jQuery(document).ready(function() { 
     jQuery(".link").click(function() { 
     jQuery(".indented").slideToggle(500); 
     }); 
    }); 
</script> 


<div class="comment"> 
    <div class="outter"> 
     <div class="inner"> 
      <div class="links"> 
       <a class="link">Toggle</a> 
      </div> 
     </div> 
    </div> 
</div> 

<div class="indented"> 
    <div class="comment">Some comment</a> 
    <div class="comment">Another comment</div> 
</div> 

<!-- Comment #2 ---> 

<div class="comment"> 
    <div class="outter"> 
     <div class="inner"> 
      <div class="links"> 
       <a class="link">Toggle</a> 
      </div> 
     </div> 
    </div> 
</div> 

<div class="indented"> 
    <div class="comment">Some comment</a> 
    <div class="comment">Another comment</div> 
</div> 

<!-- Comment #3 ---> 

<div class="comment"> 
    <div class="outter"> 
     <div class="inner"> 
      <div class="links"> 
       <a class="link">Toggle</a> 
      </div> 
     </div> 
    </div> 
</div> 

<div class="indented"> 
    <div class="comment">Some comment</a> 
    <div class="comment">Another comment</div> 
</div> 
+0

あなたのHTMLマークアップに問題がある、それを慎重に確認してください – thecodeparadox

答えて

2
jQuery(document).ready(function() { 
     jQuery(".link").click(function() { 
     jQuery(this).closest(".comment").next('.indented').slideToggle(500); 
     }); 
    }); 
関連する問題