2

一連の div があり、現在選択されている DIV の次および前の兄弟に異なるクラスを割り当てたいと考えています。

これは私たちのコードです:

<div class="panel">DIV content 1</div>
<div class="panel current">DIV content 2</div> //THIS IS THE CURRENTLY SELECTED PANEL
<div class="panel">DIV content 3</div>
<div class="panel">DIV content 4</div>
<div class="panel">DIV content 5</div>

私が理解したように、次の JQuery コードは .current の兄弟を探して、next と previous のクラスを追加します。しかし、.current 要素を探しているため、em が見つかりません。.current パネルと addClass を次および前の .panel 要素に参照するにはどうすればよいですか?

ありがとうございました。

$('.current').prev().addClass('previous');
$('.current').next().addClass('next');
4

4 に答える 4

4

必要に応じて、、、、、関数をsiblings()使用できます。andは、それぞれ 1 つ前または次の要素に移動します。nextUntilprevUntilnextAllprevAllnext()prev()

//To select all previous elements of `.current` element:
$('.current').prevAll('.panel').addClass('previous');
//To select all next elements of `.current` element:
$('.current').nextAll('.panel').addClass('next');

デモ

于 2012-06-21T09:04:03.990 に答える
1

これを試して:

$('.current').prevUntil('.panel:first').addClass('previous');
$('.current').nextUntil('.panel:last').addClass('next');

http://jsfiddle.net/yxq39/

また:

$('.current').prevAll().addClass('previous');
$('.current').nextAll().addClass('next');
于 2012-06-21T09:11:01.960 に答える
1

$('.current').prev().current の前に 1 つの要素を指定します。

<div class="panel">DIV content 1</div>

$('.current').next().current の後に 1 つの要素を指定します。

<div class="panel">DIV content 3</div>

デモを参照してください: http://jsfiddle.net/ssNUN/

すべての前または次の要素を取得する場合は、 nextUntil () およびprevUntil () を使用します。

デモを参照してください: http://jsfiddle.net/YfV5x/

于 2012-06-21T09:10:02.433 に答える
0

あなたはそれを正しくやっています

$('.current').prev(".panel").addClass('previous');
$('.current').next(".panel").addClass('next');
于 2012-06-21T09:09:50.960 に答える