如何获得按类过滤的前一个元素?

时间:2011-08-14 17:10:51

标签: jquery

我想获取最接近.me元素的前一个元素,用.a类过滤它。这个脚本返回我undefined ..为什么它返回我未定义,我该如何解决这个问题?

    <p class="a" id="a1">Hello Again</p>
    <div class="a" id="a2">And Again</div>
    <p  id="a3">And Again</p>
    <p class="me">And Again</p>
</div>
<script>

  alert($(".me").prev("p.a").attr("id"));

 </script>

1 个答案:

答案 0 :(得分:4)

prev()[docs]方法仅查看直接兄弟。

使用prevAll()[docs]方法来考虑所有以前的兄弟姐妹。

$(".me").prevAll("p.a").attr("id")

attr()[docs]方法将给出第一个匹配元素的ID,即最近的。

如果您想更明确地选择最近的方法,请使用first()[docs]方法或eq()[docs]方法。

$(".me").prevAll("p.a").first().attr("id")

$(".me").prevAll("p.a").eq( 0 ).attr("id")