选择当前元素之前的最后一个元素,该元素具有一个带有jQuery的类

时间:2013-04-28 17:02:59

标签: jquery jquery-selectors jquery-traversing

我想用jQuery选择它在我启动此事件的元素之前具有pu类的最后一个元素,因为我知道在当前有这个类之前和之后有很多元素

以下是一个例子:

<div class="pu" ></div>
<div class="pu" ></div>
<div class="pu" ></div>
<div class="current" ondragenter="myfunction();" ></div>
<div class="pu" ></div>
<div class="pu" ></div>

对于此示例,我想在启动pu的情况下选择具有当前类的div之前具有ondragenter类的最后一个元素。

我有这种情况,因为div是从服务器端生成的

我怎样才能做到这一点?

谢谢!

3 个答案:

答案 0 :(得分:3)

即使您current的前一个元素没有pu类,也会进行选择。

<强> http://jsfiddle.net/2Vunz/

PrevAll

$('div.current').prevAll('div.pu:first');

这将照顾任何包装。

<强> http://jsfiddle.net/S2LfA/

$('input.current').parent().prevAll().find('input.pu').eq(0)

答案 1 :(得分:2)

以下jQuery行将根据选择器div.current选择div.pu的前一个兄弟元素:

$('div.current').prevAll('div.pu:first');

“以前的兄弟元素”和该选择符表示这将在pudiv之前获得currentdiv,假设它们是相同的您的示例中的DOM级别。

答案 2 :(得分:-2)

试试这段代码:

$('div.pu:last')