Javascript jQuery列表筛选器不工作(未捕获类型错误:无法读取未定义的属性';3')
我正在运行jquery1.8.0.min.js 当我开始在输入框中键入以筛选列表时,什么也没有发生,在Chrome调试器中,我得到以下错误: 未捕获的TypeError:无法读取未定义的属性“3” 指向该行:Javascript jQuery列表筛选器不工作(未捕获类型错误:无法读取未定义的属性';3'),javascript,jquery,Javascript,Jquery,我正在运行jquery1.8.0.min.js 当我开始在输入框中键入以筛选列表时,什么也没有发生,在Chrome调试器中,我得到以下错误: 未捕获的TypeError:无法读取未定义的属性“3” 指向该行: jQuery.expr[':'].Contains = function (a, i, m) { return (a.textContent || a.innerText || "").toLowerCase().indexOf(m[3].toLowerCase()
jQuery.expr[':'].Contains = function (a, i, m) {
return (a.textContent || a.innerText || "").toLowerCase().indexOf(m[3].toLowerCase()) >= 0;
};
代码:
我把它改成上面的,现在可以用了
在这里找到:我相信这只是比赛。我从另一个帖子上拿的。我想做一个不区分大小写的匹配。
(function ($) {
jQuery.expr[':'].Contains = function (a, i, m) {
return (a.textContent || a.innerText || "").toLowerCase().indexOf(m[3].toLowerCase()) >= 0;
};
function listFilter(list) {
var input = $('#classroomSearch');
$(input)
.change(function () {
var filter = $(this).val();
if (filter) {
$(list).find("a:not(:Contains(" + filter + "))").parent().slideUp();
$(list).find("a:Contains(" + filter + ")").parent().slideDown();
} else {
$(list).find("li").slideDown();
}
return false;
})
.keyup(function () {
$(this).change();
});
}
$(function () {
listFilter($("#filterList"));
});
}(jQuery));
jQuery.expr[":"].contains = jQuery.expr.createPseudo(function(arg) {
return function( elem ) {
return jQuery(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0;
};
});