javascript - 如何返回 not found in filter function in jQuery?

标签 javascript jquery html

我正在通过 html 表格 搜索一个值。

当我点击一个按钮时,我正在执行下面的代码:

var userinput = $(input).val();
$('table td').filter(function(){
  return $(this).text() == '654';
}).css('background-color', 'yellow');

<table>
  <tr>
    <td>654</td>
  </tr>
  <tr>
    <td>456</td>
  </tr>
  <tr>
    <td>123</td>
  </tr>
</table>

上面的代码有效,但我还想知道在表中的 td 之一中是否没有返回值或值不存在。 p>

顺便说一句,搜索的值是动态的。

感谢您的帮助。谢谢

最佳答案

您可以存储 filter() 返回的结果并检查长度以确定是否找到:

var userinput = '654';
var resArr = $('table td').filter(function(){ 
  return $(this).text() == userinput;
}).css('background-color', 'yellow').get();
var token = resArr.length > 0 ? 'Found' : 'Not Found';
console.log(token);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <tr>
    <td>654</td>
  </tr>
  <tr>
    <td>456</td>
  </tr>
  <tr>
    <td>123</td>
  </tr>
</table>

您可以附加input 事件来检查每个td,如下所示:

$('#txtInput').on('input', function(){
  $('td').css('background-color', '')
  var userinput = $(this).val();
  var resArr = $('table td').filter(function(){ 
    return $(this).text() == userinput;
  }).css('background-color', 'yellow').get();
  var token = resArr.length > 0 ? 'Found' : 'Not Found';
  console.clear();
  console.log(token);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="txtInput" placeholder="Enter to search"/>
<table>
  <tr>
    <td>654</td>
  </tr>
  <tr>
    <td>456</td>
  </tr>
  <tr>
    <td>123</td>
  </tr>
</table>

关于javascript - 如何返回 not found in filter function in jQuery?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53718139/

相关文章:

javascript - Algolia 自动完成筛选结果

javascript - 每次单击按钮时重置 setTimeout?

javascript - 用户向下滚动时加载内容

javascript - 为什么在用 JQuery 添加类后没有应用 CSS?

javascript - 字典对象的 Vue + Vuex react 性

javascript - 如何使用 jQuery .each() 处理空对象?

javascript - Jquery .click() 给我 "stack size exceeded"

javascript - 使用 jQuery sortable 从数组中排序列表

javascript - Knockout.js 默认事件绑定(bind)与使用 jQuery 事件委托(delegate)的自定义绑定(bind) .on() - 性能和 yield ?

javascript - 如何将动态位图流渲染到 Canvas ?