layui table 设置某一行的字体颜色方法

作者:页面旅途时间:2026-10-23 10:51:44浏览:447

本文介绍如何在 layui table 中通过 JavaScript 直接操作 DOM 来修改指定行的字体颜色。核心思路是在表格渲染完成的 done 事件中,获取对应 div 下的 table_main 元素,遍历 tr 标签并修改其 style.color 属性。该方法比依赖单元格内容更灵活,适用于需要统一调整整行文字颜色的场景。

layui table 修改行字体颜色的实现思路

layui table 组件原生支持根据单元格内容来设置单个单元格的背景或字体颜色,但当需要同时修改多列甚至整行的样式时,这种方式显得不够便捷。相比之下,直接通过 JavaScript 操作 DOM 元素来实现样式修改更为简单直接。

实现思路是自定义一个 div 容器,将 table 放置其中。通过 class 名称定位到具体的 table 元素,进而找到对应的行(tr),最后修改该行样式中的颜色属性即可。

核心 JS 函数实现


//设置layui datatable的某一行的颜色
  //TabDivId:tab父div id;RowIndex:行序列号,从0开始;ColorString:颜色字符串,如'#123456'
  function Layui_SetDataTableRowColor(TabDivId,RowIndex, ColorString)
  {
    try
    {
      var div = document.getElementById(TabDivId);
      if(div != null) //找到对象了
      {
        var table_main = div.getElementsByClassName('layui-table-main');  //通过class获取table_main
        if (table_main != null && table_main.length > 0)
        {
          var table = table_main[0].getElementsByClassName('layui-table');  //通过class获取table
          if (table != null && table.length > 0) {
            var trs = table[0].querySelectorAll("tr");
            if (trs != null && trs.length > 0) {
              trs[RowIndex].style.color = ColorString;
            }
          }
        }
        
      }
    }
    catch(e)
    {
      console.log(e.message);
    }
  }

需要注意的是,调用修改样式的代码必须等待 table 渲染完成后执行。通常的做法是将该逻辑放置在 layui table 的渲染完成事件(done 回调)中调用,以确保 DOM 元素已存在。

在渲染完成事件中调用


, done: function (res, curr, count) {
    //如果是异步请求数据方式,res即为你接口返回的信息。
    //如果是直接赋值的方式,res即为:{data: [], count: 99} data为当前页数据、count为数据总长度
    console.log(res);
 
    //得到当前页码
    console.log(curr);
 
    //得到数据总量
    console.log(count);
 
    Layui_SetDataTableRowColor('tabl_panel_id1', 0, '#2c08b1');
  }

最终实现的效果如下所示:

layui table 修改行字体颜色的实现思路

可以看到,表格第一行的字体颜色已成功变为你所指定的颜色。

以上关于 layui table 设置某一行的字体颜色的方法就是本文分享的全部内容,希望能为大家提供有效的参考。

作者最新文章