例如,我们有
<ul><li></li><li></li>....</ul>
我们不知道这些代码中有多少个 li 标记,现在我引用了这些 li 元素之一。有没有一种简单的方法可以知道这个引用是否是最后一项?
例如,我们有
<ul><li></li><li></li>....</ul>
我们不知道这些代码中有多少个 li 标记,现在我引用了这些 li 元素之一。有没有一种简单的方法可以知道这个引用是否是最后一项?
您可以使用: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'));
});