在这种简单的设置下,
当我检测到类名为“uncle”的单击事件时,我希望能够获取最近前面的“.parent”的兄弟元素。我应该能够这样做。
<div class="parent">
<div class="child">I'm spoiled</div>
</div>
<div class="aunt"></div>
<div class="uncle"></div>
<div class="parent">
<div class="child">I'm spoiled</div>
</div>
<div class="aunt"></div>
<div class="uncle"></div>
当我检测到类名为“uncle”的单击事件时,我希望能够获取最近前面的“.parent”的兄弟元素。我应该能够这样做。
$( this ).prev( ".parent" ).children( ".child" ).text();
...但是这样返回一个空白。
如果我这样做
$( this ).prev().prev().children( ".child" ).text();
...这会返回预期结果:“我被宠坏了”
我是否忽略了使用 prev([selector]) 的某些限制?
[更新]
.prevAll() 返回所有先前的类,因此结果为
$( this ).prevAll( ".parent" ).children( ".child" ).text();
如果我点击第二个".uncle",则会出现"I'm spoiledI'm spoiled"的结果,这不是我想要的。
我只需要最近的前一个。