たとえば、
<ul><li></li><li></li>....</ul>
これらのコードに含まれるliタグの数はわかりません。現在、これらのli要素の1つへの参照があります。この参照が最後の項目であるかどうかを知る簡単な方法はありますか?
たとえば、
<ul><li></li><li></li>....</ul>
これらのコードに含まれるliタグの数はわかりません。現在、これらのli要素の1つへの参照があります。この参照が最後の項目であるかどうかを知る簡単な方法はありますか?
:last-child
セレクターを使用して、要素がそれに一致するかどうかを確認できます。
if( $('li').is(':last-child') ) {
// ...
}
'li'
上記のセレクターを要素への参照に置き換える必要があります。
一致したセット内の要素のいずれか.is()
が新しいセレクターと一致する場合はtrueを返すため、これを置き換える必要があることに注意してください。したがって、実際には、特定のリストアイテムでのみ呼び出す必要があります。
$('ul li').each(function() {
if($(this).is(':last-child')) {
// I am the youngest!
}
});
最も効率的なlast
のは、サーバーでレンダリングするときにクラスを割り当てることです。
このように、シンプルで安価で効率的な$( this ).hasClass( 'last' )
もので十分です。
例:
<ul>
<li></li>
<li></li>
<li></li>
<li class="last"></li>
</ul>
jQuery:
if ( $( this ).hasClass( 'last' ) ) { // cheap
}
覚えておいてください:ページをレンダリングするためのほとんどの時間はクライアントに費やされます、あなたがより効率的であるほど、より良いです。
$('ul li').on('click', function() {
console.log($(this).is(':last-child'));
});