You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用jQuery为Bootstrap表格行添加类并在重载后保留高亮状态

如何在页面重载后保留Bootstrap表格选中行的高亮状态?

没问题,这个需求很常见,咱们只需要借助localStorage来持久化选中的名称,页面重载后再读取它来恢复高亮状态就行。另外我发现你代码里有个小细节需要调整——循环生成的<td>用了相同的id="object-name-column",这不符合HTML规范(id必须唯一),改成class会更稳妥。下面是调整后的完整解决方案:

1. 修改点击事件,持久化选中的名称

更新你的点击事件,把选中的名称同时存入localStorage,这样页面刷新后数据不会丢失:

$('body').on('click', '.name-row', function (event) {
  // 为当前选中行添加高亮,移除其他行的高亮
  $(this).addClass('bg-info text-light').siblings().removeClass('bg-info text-light');
  // 获取当前行的名称(注意把id改成class了)
  selectedName = $(this).find(".object-name-column").text().trim(); // 加trim避免空格干扰匹配
  // 将选中的名称存入localStorage
  localStorage.setItem('selectedObjectName', selectedName);
});

2. 页面初始化时恢复高亮状态

在页面加载完成后,读取localStorage里保存的名称,找到对应的行并恢复高亮:

$(document).ready(function() {
  // 从localStorage读取之前选中的名称
  const savedName = localStorage.getItem('selectedObjectName');
  if (savedName) {
    // 遍历所有行,找到匹配名称的行并添加高亮
    $('.name-row').each(function() {
      const currentName = $(this).find(".object-name-column").text().trim();
      if (currentName === savedName) {
        $(this).addClass('bg-info text-light');
        // 同步更新全局变量selectedName
        selectedName = savedName;
        return false; // 找到匹配项后退出循环,提升效率
      }
    });
  }
});

3. 调整HTML中的td属性

把原来重复的id改成class,避免HTML结构错误:

<script th:inline="javascript"> /*<![CDATA[*/ var selectedName; /*]]>*/ </script>
<table class="table table-hover" id="my-table" style="cursor:pointer">
<thead>
<tr>
<th scope="col">Name</th>
<th scope="col">Date</th>
</tr>
</thead>
<tbody>
<tr class="name-row" th:each="object:${objects}">
<td class="object-name-column" th:text="${object.name}"></td>
<td class="date-column" th:text="${object.date}"></td>
</tr>
</tbody>
</table>

额外说明

  • 如果需要清除高亮状态(比如用户重置操作),可以调用localStorage.removeItem('selectedObjectName'),然后手动移除所有行的bg-info text-light类即可。
  • trim()方法用来去除名称前后的空格,避免因文本格式化导致匹配失败。

内容的提问来源于stack exchange,提问作者Vlada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:43:08