我正在尝试使用Javascript为我的应用程序实现搜索,而且我遇到了一个问题,我之前隐藏的项目不会再出现。 JSFiddle
我的代码在这里:
$('#search').keyup(function() {
var val = $.trim($(this).val()).replace(/ +/g, ' ').toLowerCase();
$searchproject.show().filter(function() {
var text = $(this).text().replace(/\s+/g, ' ').toLowerCase();
return !~text.indexOf(val);
}).parents('div.srcprojects').hide();
});
问题是我隐藏了我过滤选择的父srcprojects容器,因此keyup不再显示它。
但是,如果我改变
$searchproject.show().filter(function() {
到
$searchproject.parents('div.srcprojects').show().filter(function() {
根本不起作用。我做错了什么?
答案 0 :(得分:1)
通过添加
解决$searchproject.parents('div.srcprojects').show();
完整代码:
$('#search').keyup(function() {
var val = $.trim($(this).val()).replace(/ +/g, ' ').toLowerCase();
$searchproject.parents('div.srcprojects').show();
$searchproject.show().filter(function() {
var text = $(this).text().replace(/\s+/g, ' ').toLowerCase();
return !~text.indexOf(val);
}).parents('div.srcprojects').hide();
});