【发布时间】:2019-12-03 12:15:42
【问题描述】:
我已经设法将一些 JS 复制到我的文档中,并且可以正常工作。但我不完全明白它是如何做到的。
这是一个搜索功能,用于匹配表中的数据并隐藏任何不匹配的行。
但我不理解实际搜索和匹配的活动代码行。有人能解释一下吗?
$('#searchBar').keyup(function() {
searchFunction($(this).val());
});
function searchFunction(value) {
$('#results tr').each(function() {
var found = 'false';
$(this).each(function() {
if ($(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0) {
found = 'true';
}
});
if (found === 'true') {
$(this).show();
} else {
$(this).hide();
}
})
};
这是我无法理解的线:
if ($(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0) {
found = 'true';
}
我了解它如何将变量更改为 true,但我不明白它如何将表格行中的数据与输入的值匹配。
【问题讨论】:
-
this指的是<tr>。该代码将行内的所有文本作为一个长字符串,将其转换为小写,然后在其上调用indexOf(),传递值。这将返回值在字符串中的位置,如果未找到则返回-1。 -
请重命名与手头问题相关的标题 - 目前对于想知道是否可以提供帮助的读者来说,这并不是很有用。
标签: javascript jquery html datatables