我想获取最接近.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>
答案 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")