分组(); 和next(); 用法澄清Jquery

我们有一系列div,我们想为当前选择的DIV的下一个和前一个兄弟分配不同的类。

这是我们的代码:

DIV content 1
DIV content 2
//THIS IS THE CURRENTLY SELECTED PANEL
DIV content 3
DIV content 4
DIV content 5

据我所知,以下JQuery代码将寻找.current的兄弟,并添加下一个和前一个类。 但是因为它正在寻找.current元素,所以它找不到它们。 如何将.current面板和addClass引用到下一个和之前的.panel元素?

谢谢。

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

根据您的需要,您可以使用siblings()nextUntilprevUntilnextAllprevAll函数。 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'); 

DEMO

试试这个:

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

http://jsfiddle.net/yxq39/

要么:

 $('.current').prevAll().addClass('previous'); $('.current').nextAll().addClass('next'); 

你这样做只是添加以下内容

 $('.current').prev(".panel").addClass('previous'); $('.current').next(".panel").addClass('next'); 

$('.current').prev()在.current之前给你一个元素:

 
DIV content 1

$('.current').next()在.current之后给出一个元素:

 
DIV content 3

参见演示: http : //jsfiddle.net/ssNUN/

如果你想获得所有上一个或下一个元素,请使用nextUntil ()和prevUntil ()。

参见演示: http : //jsfiddle.net/YfV5x/