如何使用jQuery只选择一个兄弟?

前端之家收集整理的这篇文章主要介绍了如何使用jQuery只选择一个兄弟?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这个代码
<ul>
  <li class="foo">foo text</li>
  <li class="foo2">foo2 text</li>
  <!-- more li here -->
  <li class="bar">bar text</li>
  <li class="bar2">bar2 text</li>
  <!-- more li here -->
  <li class="baz">clickme!</li>
</ul>

$(".baz").click(function() {
    alert("test: " + $(this).siblings(".bar")[0].text()); // Doesn't work
});

兄弟姐妹(“。bar”)[0]不工作。 (没有警报框弹出,没有javascript错误)

只选择一个兄弟姐妹的正确方法是什么?

jsFiddle try

编辑:我不想使用prev()或next()。

解决方法

您可以使用 eq方法将特定索引处的匹配元素集减少为一个:
$(this).siblings(".bar").eq(0).text()

这将选择集合中的第一个元素。在你的情况下,你可以简单地使用prev,因为你正在寻找的元素直接来自clicked元素:

$(this).prev(".bar").text()

您使用的数组符号方法的问题是,它返回包含在jQuery对象中的实际DOM节点,并且不会有一个文本方法。 eq是等效的jQuery方法来做到这一点。

猜你在找的jQuery相关文章