为了账号安全,请及时绑定邮箱和手机立即绑定

如何获取列表中的多个项目

如何获取列表中的多个项目

holdtom 2022-06-09 16:49:50
no results我有一个搜索功能,如果查询没有返回任何项目,我想显示。问题是,我不确定如何获取当前显示的数字或项目。这是我的功能:find.addEventListener("keyup", function() {  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";    }  });});
查看完整描述

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

  }

});


查看完整回答
反对 回复 2022-06-09
?
神不在的星期二

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";

    }

  });

});


查看完整回答
反对 回复 2022-06-09
  • 2 回答
  • 0 关注
  • 145 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信