### [表格行显示隐藏:直接改 display 翻车了](https://www.huociguo.com/article/1823) **Published:** 2026-10-02T10:45:37 **Author:** 米了 **Excerpt:** 表格加个行筛选功能,听着不难。第一版直接给 tr 改 ,功能是跑起来了,后面越改越乱 📋。行内样式像狗皮膏药一… 表格加个行筛选功能,听着不难。第一版直接给 tr 改 `style.display`,功能是跑起来了,后面越改越乱 📋。行内样式像狗皮膏药一样贴得到处都是,class 控制全部失效,只好重写。  行显隐本质是状态管理,不该散落在行内样式里 ## 翻车点:直接改 style 行内样式优先级最高。第一版图省事 `tr.style.display = 'none'`,之后想加「仅显示异常行」之类的批量功能,class 写了不生效,原因全是行内样式在挡路 ⚠️。 ## 重写:状态交给 class ``` tr.hidden { display: none; } row.classList.toggle('hidden', !match); ``` 显隐只是一个类的增删,批量操作、组合筛选都顺了。恢复时不用记着之前是 `table-row` 还是别的值,把类摘掉就行 ✅。 ## 筛选条件存 data 属性 ```