我怎么能知道元素是最后一项
how can I know the element is the last item?
例如,我们有
<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'));
});
相关文章:
- 如何从对象数组中获取最后一项
- 为什么只有最后一项显示,而不是全部显示
- 删除最后一项jquery
- 为什么我的“for”循环只获取 html 中的最后一项
- 我无法将下拉列表的默认值设置为最后一项
- 流星批量插入仅插入最后一项
- 我怎么能知道元素是最后一项
- 如何删除WinJS组绑定列表的最后一项
- 使用handlers.js模板以数组中的最后一项为条件
- empty().append()追加循环中的最后一项
- jQuery只附加最后一项
- 将属性添加到 for 循环中的最后一项
- 如何按排序键顺序获取对象中的最后一项
- for 循环中的 addEventListener 始终添加到最后一项
- 从数组中删除最后一项
- CasperJS只从我的for循环中多次发布最后一项
- 在 JavaScript 中处理数组中的最后一项
- 胡子.js带有数组,最后一项除外
- 通过jQuery在最后一项之后插入
- JavaScript for 循环只返回数组中的最后一项