【问题标题】:Select last element before my current element that has one class with jQuery选择我当前元素之前的最后一个元素,该元素具有一个带有 jQ​​uery 的类
【发布时间】:2013-04-29 02:46:23
【问题描述】:

我想用 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>

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

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

我怎样才能做到这一点?

谢谢!

【问题讨论】:

  • 您的所有输入都包装了吗?他们有这些课程吗?

标签: jquery jquery-selectors jquery-traversing


【解决方案1】:

这将负责选择,即使您之前的 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)

【讨论】:

  • 我受到您的解决方案的启发:这是解决方案:$(this).parent().find('.pu')
【解决方案2】:

下面这行jQuery会根据选择器div.pu选择div.current之前的兄弟元素:

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

“上一个兄弟元素”并且该选择器表示这将在currentdiv 之前为您提供pudiv,假设它们与您的示例中的DOM 处于同一级别.

【讨论】:

  • 谢谢,但在我的例子中,它们不在同一级别,可能每个都包含在另一个div中
  • 这里是正确的情况,我没有 div 但我有输入,每个都包含在&lt;td&gt;
  • 它们都在一个单独的&lt;td&gt; 元素中吗?
  • 看起来 PSCoder 有解决方案,如果我理解正确的话。 GJ!
  • 嗯@Michal 好像这就是他要找的东西……但不确定!!
【解决方案3】:

试试这个代码:

$('div.pu:last')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-03
    • 2010-09-20
    • 1970-01-01
    • 2021-02-05
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 2017-02-15
    相关资源
    最近更新 更多