【问题标题】:How to get an element with class after current one in JQuery?如何在 JQuery 中获取当前元素之后的类元素?
【发布时间】:2011-05-01 04:06:13
【问题描述】:

这里是示例 html 代码:

<div id="current_element">Current element</div>
Many unknown tags...
<div class="target">This is target element</div>
Many other tags...

注意,Target 元素和当前元素可能不在同一个父元素下,所以我用 .nextAll('.target') 找不到它,对吧?

有没有简单的方法可以找到它?谢谢!

【问题讨论】:

  • 但如果它们只是一个接一个,它们就在同一个父级之下?
  • 参见下面的代码,例如:
    当前
    目标
    他们不在同一个父级下吧?
  • 那么你怎么知道哪个元素是目标呢?请清楚地解释规则,然后这应该会引导您找到答案

标签: jquery next


【解决方案1】:

由于元素是按文档顺序返回的,因此您可以使用.index() 在包含两者的集合中查找下一个,如下所示:

var ce = $("#current_element"), all = $("#current_element, .target");
var target = all.eq(all.index(ce)+1);

You can test it out here.

【讨论】:

  • +1 我在我写的东西中使用了它,它对我很有帮助,谢谢。在我的代码中的 cmets 中给出了信用。
【解决方案2】:

您评论中的 html 与问题中的不同

<div id="area1">
  <div id="current_element">Current</div>
</div>
<div id="area2">
  <div class="target">Target</div>
</div>

我要做的是用 div 包装它们:

<div id="mainparent">
  <div id="area1">
    <div id="current_element">Current</div>
  </div>
  <div id="area2">
    <div class="target">Target</div>
  </div>
<div>

然后我回去寻找另一个孩子:

//this = .current_element
var $target = $(this).closest("#mainparent").find(".target");

我希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多