我正在运行 jQuery 1.8.0.min.js
当我开始在输入框中输入以过滤列表时,什么也没有发生,在 Chrome 调试器中,我收到以下错误:
未捕获的类型错误:无法读取未定义的属性“3”
指向线:
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));