3

ユーザーがクリックした要素の下にあるすべてのものを非表示にしたい (ただし、上の要素はそのままにしておく)。このデモをチェックしてください: http://jsfiddle.net/dS2vA/

したがって、2 番目をクリックすると、その下に<li>ある 3 つ<li>の s が非表示になります。4 番目をクリックする<li>と、5 番目の要素だけが非表示になります。

でやってみまし:not('clicked')たが、クリックした要素の上の要素もターゲットにしています。

何か案は?

4

3 に答える 3

5

以下を使用してください。

$(this).nextAll().hide();

デモ:http: //jsfiddle.net/dS2vA/1/

于 2013-03-11T18:18:10.340 に答える
1

次のようなことを試してください:

$('ul li').click(function() {
    $('ul li').each(function() {
        $(this).removeClass();
    })
    $(this).nextAll("li").slice(0,3).addClass('clicked');
})
于 2013-03-11T18:30:34.347 に答える
1

VisioNの回答に加えて、より具体的には、次のようにセレクター フィルター ("li") を追加できますnextAll()

$(this).nextAll("li").hide();
于 2013-03-11T18:34:01.207 に答える