用于筛选输入的Jquery代码

用于筛选输入的Jquery代码,jquery,Jquery,我想检查用户输入是否与div中的内容匹配,但当输入与我想要显示的内容不匹配时,我遇到了问题未找到匹配项,但不起作用 如何将其传递给另一个id而不是使用父节点 //This is working $(tageslist).find("h1:not(:Contains(" + filter + "))").parent().slideUp(); //But here i want to show this message in a different div $(tageslist).find("h

我想检查用户输入是否与div中的内容匹配,但当输入与我想要显示的内容不匹配时,我遇到了问题
未找到匹配项
,但不起作用

如何将其传递给另一个id而不是使用父节点

//This is working
$(tageslist).find("h1:not(:Contains(" + filter + "))").parent().slideUp();
//But here i want to show this message in a different div
$(tageslist).find("h1:not(:Contains(" + filter + "))", function(){
$('#notfilter').html('Not found');
});

不工作

代码中有两个问题:

  • .find()
    方法不接受两个参数。要检查是否找到任何内容,请使用
    .length
    属性
  • 您在
    .find()
    中的筛选器正在搜索与您实际需要相反的内容。当至少有一个元素不包含筛选器字符串时,即使有一个元素包含筛选器字符串,它也会返回true
  • 要解决这些问题,请使用以下代码:

    if ($(tageslist).find("h1:Contains(" + filter + ")").length === 0) {
      $('#notfilter').html('Not found');
    }
    

    代码中有两个问题:

  • .find()
    方法不接受两个参数。要检查是否找到任何内容,请使用
    .length
    属性
  • 您在
    .find()
    中的筛选器正在搜索与您实际需要相反的内容。当至少有一个元素不包含筛选器字符串时,即使有一个元素包含筛选器字符串,它也会返回true
  • 要解决这些问题,请使用以下代码:

    if ($(tageslist).find("h1:Contains(" + filter + ")").length === 0) {
      $('#notfilter').html('Not found');
    }
    

    代码将运行得很好,但我只是猜测它可能不符合您的实际需要。澄清一下:当没有
    元素包含
    过滤器中存储的字符串时,您希望显示
    未找到
    ,对吗?是的,这就是我想要的want@Alex好的,检查我的更新答案。现在,它应该可以按照您的要求工作了。代码运行得很好,但我只是猜测它可能并不能满足您的实际需要。澄清一下:当没有
    元素包含
    过滤器中存储的字符串时,您希望显示
    未找到
    ,对吗?是的,这就是我想要的want@Alex好的,检查我的更新答案。现在,它应该按照您的要求工作。