限制.filter结果列表的数量- Jquery



我正在尝试限制no。的过滤器列表。这是我的代码

$(document).ready(function(){
$("#myInput").on("keyup", function() {
var value = $(this).val().toLowerCase();
$(".table tr").filter(function() {
$(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
});
});
});

因此,当我在搜索框中输入'Food'时,所有包含Food单词的13行都会出现,其余的会隐藏。

但我试图只显示前5行,而不是所有13行。谢谢,如果有人有任何想法。

使用Array.slice

$(".table tr").filter(function() {
$(this).toggle($(this).text().toLowerCase().indexOf(value) > -1);
}).slice(5).remove();

Slice(index)返回数组中从索引到最后一个元素的所有元素。在本例中是所有元素,对这些元素调用remove()将删除它们,从而只显示前5个元素。文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice