【问题标题】:Find previous div before specific element of class在类的特定元素之前查找前一个 div
【发布时间】:2016-01-08 00:48:51
【问题描述】:

好的,我有这个

<div id="stadiumSeats1" class="fans eleven"></div>
<div id="stadium1" class="team activeteam eleven"><div>

现在我要做的是找到第一个“activeteam”类,然后将前一个 div 定位到该类,在这种情况下,它是 StadiumSeats1

我尝试过使用

$('.activeteam').prev('div');
$('.activeteam')[0].prev('div');

fwiw 我正在使用hopscotch tour,我的目标是针对特定的 div。

我可以通过

访问 Stadium1 div
$('.activeteam')[0];

但我需要它之前的 div。那里有很多例子 $('#activeteam').prev('div');

但这有点不同,因为我试图访问一个类的特定元素,所以不知道如何构造它。

【问题讨论】:

  • .prev 只会查看前一个兄弟姐妹。您确定这是您要查找的元素吗?
  • 你的意思是它只会在 Stadium1 div 中查找吗?基本上发生的事情是可能的 9 个条目之一将处于活动状态,并且只有 1 个。这将是带有 activeteam 的课程。但是 div 不是我想要点击的,它始终是 activeclass div 之前的 div,因为每个 div 加载不同的弹出窗口,当您单击 div 时,您会继续下一步,但如果我点击 Stadium1 它将加载错误弹出窗口,所以我需要将 div 直接定位在 activeteam div 之前/上方
  • Before 和 above 是两个非常不同的东西。您展示的结构可能不是您实际使用的结构。你能验证结构是否准确吗?
  • 试试$('div').get($('div').index($('.activeteam'))-1)
  • 抱歉不清楚。 StadiumSeats1 在 Stadium1 div 之前。我相信它也在它之上。但是是的,它总是这样,最多有 9 组这些 div 并且我总是直接在 Stadium1 之前定位 div。他们之间永远不会有另一个div。我很抱歉我没有解释清楚

标签: jquery selector


【解决方案1】:
$($('div').get($('div').index($('.activeteam'))-1))

https://jsfiddle.net/3g8afjhu/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-19
    • 1970-01-01
    • 2015-06-02
    • 2015-06-11
    • 2020-11-21
    • 1970-01-01
    • 1970-01-01
    • 2018-02-07
    相关资源
    最近更新 更多