我无法在任何地方找到这个,你如何检查切片是否仍在列表中返回元素?与$('.class').slice(n-th,n-th);
当通过切片在返回类的索引中增加第n个变量时,您如何知道切片何时返回无效索引?希望我能解释清楚。
以下是我要完成的示例代码:
$(window).scroll(function() {
if(!($('embed').slice(p1,p2).show())){
$(window).unbind('scroll');
}
++p1;++p2;
}
另外,为什么我的活动没有解除绑定?
感谢您的帮助:)
答案 0 :(得分:2)
只需测试slice().length
即可查看您是否有任何回复,或者您可以针对特定的length
对其进行测试。
在你的情况下:
var $mySlice = $('embed').slice(p1,p2); // <== Store slice
// Check that slice returned 1+ elements
if( $mySlice.length ) {
// show them if yes
$mySlice.show();
} else {
// unbind if no
$(window).unbind('scroll');
}
一般来说,你想看看:
$( ... ).slice( ... ).length
以上只测试1+元素。如果你正在切断N
个元素,并且想要确保获得完整而完整的结果,只需修改为
if ( $mySlice.length == N ) {
jQuery的 .slice()
永远不会返回超出剩余元素末尾的内容。很聪明,知道何时停止。
如果你给它一个超过元素数量的终点,它将返回存在的元素,然后它会在没有运行时错误的情况下停止。
答案 1 :(得分:1)
如果传递错误的参数,Slice只会返回一个空数组。