2016-11-16 12 views
1

これはループのために私を投げています。だから私はそのページのすぐ次の<table>をslideToggleにできるようにしたい。今私はすべてを試しましたが、うまく動かず、私はアイデアがありません。ここで次の表を切り替えます

は、コードへのリンクです:

jsfiddle link

$(document).ready(function() { 
    $('.toggle-step').on('click', function() { 
     $(this).parent().next('table').slideToggle("fast"); 
     $(this).find('span').slideToggle(0); 
    }); 
}); 

<div class="table-wrapper"> 
    <ul class="nav nav-pills"> 
     <li class="active"> 
      <a class="toggle-step">Toggle Table <span class="glyphicon glyphicon-triangle-bottom" aria-hidden="true" style="display: inline-block;"></span> <span class="glyphicon glyphicon-triangle-right" aria-hidden="true" style="display: none;"></span> </a> 
     </li> 
    </ul> 

    <table> 
     ... 
    </table> 
</div> 
+0

'.parent()'唯一の問題は、私は)(.parent行っている可能性が頼むことDOM – j08691

+0

に1つのレベル上がる。次の()。次の()? – zemaker

+0

いいえ、.parent()がアンカーからリストアイテムにあなたをもたらしますので、 – j08691

答えて

0
$(this).closest('ul').next('table').slideToggle("fast"); 

あなたのリンクの親がテーブルの兄弟ではないので、あなたはDOMのトラバーサルを変更する必要があります。リストはリンクの親ではないため、closest()を使用する必要があります。

Fiddle

+0

十分にうまくいきました。私が試したすべての組み合わせをあなたに伝えることはできません.closest( 'ul')には決して考えないでください。 – zemaker

関連する問題