我的代码是这样的:
$(document).ready(function () {
size_li = $("#myList li").length();
x=3;
$('#myList li:lt('+x+')').show();
$('#loadMore').click(function () {
x= (x+5 <= size_li) ? x+5 : size_li;
$('#myList li:lt('+x+')').show();
});
$('#showLess').click(function () {
x=(x-5<0) ? 3 : x-5;
$('#myList li').not(':lt('+x+')').hide();
});
});
或在此处查看演示和完整代码:http://jsfiddle.net/oscar11/6FzSb/4177/
我使用jquery 3.0.1
执行时,存在错误:
TypeError:$(...)。length不是函数
我该如何解决?
答案 0 :(得分:24)
而不是这个
$("#myList li").length();
使用此:
$("#myList li").length;
$("#myList li")
返回一个像对象一样的数组。所有类似对象的数组都有一个名为length
的属性,当读取该属性时,返回数组中包含的项目数量,如object。据说没有任何称为长度的函数。因此length()
毫无意义。
答案 1 :(得分:2)
length
是属性,而不是函数,因此请删除()
$("#myList li").length;
答案 2 :(得分:2)
length
不是一个函数,只有Yourthings.length
没有()。
更多文档length documentation
答案 3 :(得分:0)
我已经更新了你的小提琴,它说它不是一个功能,因为它确实不是。 javascript数组中的长度是属性,所以你应该像
一样调用它array.length
因为dom选择器返回dom元素数组,所以你也应该使用不带括号的长度