javascript - 当我通过 javascript 更改元素的 css "display"属性时,页面上没有任何变化

标签 javascript html css

我有一个用于过滤列表的简单应用程序(显示匹配的元素并隐藏其余元素)

<input> 上有一个由'input' 事件触发的函数。元素。它更改了 <li> 的“显示”属性元素。最后它为每个 <li> 添加适当的属性值( block 或无) .但是我没有在页面上看到任何更改。

代码如下:

function filterInput(e) {
   //value from <input> element
   let keyValue = e.target.value;
   //all items from list
   let listOfTasks = document.querySelectorAll('.list-group-item');
   listOfTasks.forEach(function (task) {
      const item = task.firstChild.textContent;
      if(~item.indexOf(keyValue)){
         task.style.display = 'block';
      } else {
         task.style.display = 'none';
      }
   });
}

这是事件发生前的元素截图:

elements before event

这是事件后元素的截图:

elements after event

页面上没有任何变化:

the list itself

最佳答案

我最好的猜测是“.list-group-item”的 CSS 具有“display: block !important”,它优先于内联样式。因为内联样式被赋值了,但是没有生效...

关于javascript - 当我通过 javascript 更改元素的 css "display"属性时,页面上没有任何变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48630212/

相关文章:

javascript - 实现点赞功能时出现问题。函数只运行一次

javascript - 函数无需调用函数的类即可工作

Jquery/CSS - 如何清除我无法编辑的另一个文件中的 CSS 背景集

javascript - 使用一个 CSS 选择网页外观而无需重新加载

css - Bootstrap 控件对齐 - 显示 : inline 时换行

javascript - 使用 jquery 根据点击显示/隐藏与类相关的文本

ASP.Net Webforms 的 Javascript 框架

html - CSS 将粗体测试更改为黄色背景

html - Bootstrap Carousel 拒绝工作

css - 并排对齐 div(高度不固定)