我有这个表,如何获得第一个具有.cep类的前导并使用Jquery获取此元素?
这是我的表:
<table>
<tr class="cep"></tr>
<tr class="ptype"></tr>
<tr class="item"></tr>
<tr class="cep"></tr> (I want to get this element)
<tr class="ptype"></tr>
<tr class="item"></tr>
<tr class="item-here"></tr> (I'me here)
<tr class="item"></tr>
</table>
有没有办法做到这一点:
$('tr.item-here').prevUntilFindThefirstMatchOf('tr.cep'); Get this element
请帮助
答案 0 :(得分:4)
console.log($('tr.item-here').prevUntil('tr.cep').last().prev());
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<table>
<tr class="cep">cep</tr>
<tr class="ptype">ptype</tr>
<tr class="item">item</tr>
<tr class="cep">cep</tr>
<tr class="ptype">ptype</tr>
<tr class="item">item</tr>
<tr class="item-here">item-here</tr>
<tr class="item">item</tr>
</table>
&#13;
答案 1 :(得分:4)
我建议将prevAll
与first
结合使用。 prevAll
会过滤掉所有以前的兄弟姐妹,first
只会抓住它遇到的第一个兄弟姐妹。
$('tr.item-here').prevAll('tr.cep').first();
var meh = $('tr.item-here').prevAll('tr.cep').first();
console.log($(meh).text());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr class="cep"><td>This should not print in console</td></tr>
<tr class="ptype"></tr>
<tr class="item"></tr>
<tr class="cep"><td>This should print in console</td></tr>
<tr class="ptype"></tr>
<tr class="item"></tr>
<tr class="item-here"></tr>
<tr class="item"></tr>
</table>