Javascript 如何再次显示以前被jQuery隐藏的所有列表项?

Javascript 如何再次显示以前被jQuery隐藏的所有列表项?,javascript,jquery,Javascript,Jquery,我有一个搜索框,用于过滤结果,如果结果与过滤器不匹配,则将其隐藏: $('#box_street').keyup(function() { var valThis = $(this).val().toLowerCase(); if (valThis == "") { $('#street__list > .list__item').show();

我有一个搜索框,用于过滤结果,如果结果与过滤器不匹配,则将其隐藏:

$('#box_street').keyup(function() {
                  var valThis = $(this).val().toLowerCase();
                  if (valThis == "") {
                    $('#street__list > .list__item').show();
                  } else {
                    $('#street__list > .list__item').each(function() {
                      var text = ($(this).text() + $(this).data("alt")).toLowerCase();
                      if (text.indexOf(valThis) >= 0) {
                        $(this).show()
                      } else {
                        $(this).hide();
                      }
                    });
                  };
                });
现在,我添加了一个函数,可以用
$('.search\uu filter').val('')清除搜索框问题是,一旦运行之前隐藏的项目,就不会再次显示。表单输入重置为ok,但项目仍然隐藏


如何再次显示所有元素?

一旦搜索输入为空,您所要做的就是触发
keyup
事件,因为您已经有了显示所有元素的条件

$('#reset_button').on('click', function() {
    $('.search__filter').val('');
    // reset form ... then
    $('#box_street').trigger('keyup');
    // or you could do it yourself directly with : 
    // $('#street__list > .list__item').show();
});
您是否尝试过在toLowerCase()的基础上使用trim()来解决空白问题?在进行if比较时,还可以尝试调试以查看存在哪些值。