我们有一系列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的兄弟,并添加下一个和上一个类。但是既然它正在寻找.current元素,它就找不到em。 如何将.current面板和addClass引用到下一个和以前的.panel元素?
谢谢。
$('.current').prev().addClass('previous');
$('.current').next().addClass('next');
答案 0 :(得分:3)
根据您的需要,您可以使用siblings()
,nextUntil
,prevUntil
,nextAll
,prevAll
个功能。 next()
和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');
答案 1 :(得分:1)
试试这个:
$('.current').prevUntil('.panel:first').addClass('previous');
$('.current').nextUntil('.panel:last').addClass('next');
或:
$('.current').prevAll().addClass('previous');
$('.current').nextAll().addClass('next');
答案 2 :(得分:0)
你做得对 只需添加以下内容
$('.current').prev(".panel").addClass('previous');
$('.current').next(".panel").addClass('next');
答案 3 :(得分:0)
$('.current').prev()
在.current:
<div class="panel">DIV content 1</div>
$('.current').next()
在.current:
<div class="panel">DIV content 3</div>
请参阅演示:http://jsfiddle.net/ssNUN/