2 回答
TA贡献1824条经验 获得超8个赞
您可以使用布尔标志:
find.addEventListener("keyup", function() {
let noResults = true;
Array.from(animalList.children).forEach(d => {
if (d.dataset.animalName.toLowerCase().indexOf(this.value.toLowerCase()) != -1) {
d.style.display = "block";
noResults = false;
} else {
d.style.display = "none";
}
});
if (noResults) {
// display no results
}
});
TA贡献1963条经验 获得超6个赞
由于您正在使用 javascript 和关键事件,并且您告诉我们您想在某些列表过滤时显示一些消息字符串,我的建议是:
在函数开始时显示无结果消息,然后过滤,如果得到结果,则执行相应的功能。
find.addEventListener("keyup", function() {
// show no result message and then do the other stuff,
// this is a UI event handler after all
Array.from(animalList.children).forEach(d => {
if (d.dataset.animalName.toLowerCase().indexOf(this.value.toLowerCase()) != -1) {
d.style.display = "block";
} else {
d.style.display = "none";
}
});
});
添加回答
举报