nextUntil
メソッドを使用してテーブル行の値を切り替えます。どのレベルの最後のリンクでもない限り正常に動作しています。たとえば、レベル1.2.2(クラス3)をクリックしているときは、下の行がすべて表示されているため、下の行がすべて非表示になっています(下の表を参照してください)。私はこれを達成するために条件を追加する必要があると信じています。しかし、どのように条件を追加するか分からない。nextUntilの条件JQueryで切り替える
クリックしたクラスレベルよりも下のクラスレベル(以下)の場合は、トグルを停止します。また、遅いプロセスであるため、これを達成できる他の方法もあります。ここで
は、コードは次のとおりです。事前に
<table id=test>
<tr class=1><td>Level 1</td></tr>
<tr class=2><td>Level 1.1</td></tr>
<tr class=3><td>Level 1.1.1</td></tr>
<tr class=3><td>Level 1.1.2</td></tr>
<tr class=2><td>Level 1.2</td></tr>
<tr class=3><td>Level 1.2.1</td></tr>
<tr class=3><td>Level 1.2.2</td></tr>
<tr class=4><td>Level 1.2.2.1</td></tr>
<tr class=4><td>Level 1.2.2.1</td></tr>
<tr class=1><td>Level 2</td></tr>
<tr class=2><td>Level 2.1</td></tr>
<tr class=3><td>Level 2.1.1</td></tr>
<tr class=3><td>Level 2.1.2</td></tr>
</table>
$(document).ready(function() {
$('tr.3').click(function() {
$(this).nextUntil('tr.3').slideToggle();
});
});
ありがとう!
私はこれに従うのか、なぜ 'nextUntil'を使用しているのか分かりません。 1.2.2をクリックすると、1.2.2.1(* 2)と2と2.1が隠れていることが非常に奇妙に見えます。あなたが実際に望むのは、レベルNをクリックするとN.xをトグルする必要があり、A.Nをクリックすると、A.x.xはトグルされますが、B.xはトグルされないようにすることです。 (そして最後に、上位レベルが切り替えられるたびに隠されたものを取り戻したいのですか?)もしそうなら、あなたは仕事のために別のツールを使う必要があると思います。 – Thor84no
@ Thor84no、まさに私はあなたの言うことが必要でした。私は実際に私に実例を与えてください、私はちょうどJQueryを始めて、それが良いと思います –