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

如何在DataTables中当单元格值为空时隐藏Tooltip

解决方案

问题出在你当前是给整行添加了title属性,导致该行所有单元格都会继承这个Tooltip,哪怕单元格本身是空值。要实现空值单元格不显示Tooltip,需要改为逐个处理每个单元格,只给非空值的单元格设置Tooltip。

修改你的rowCallback函数如下:

rowCallback: function(row, data, displayNum, displayIndex, dataIndex) {
  // 遍历当前行的所有单元格
  $(row).find('td').each(function() {
    const cellText = $(this).text().trim();
    if (cellText) {
      // 单元格非空时,设置Tooltip为隐藏列(Office)的内容
      $(this).attr('title', data[2]);
    } else {
      // 单元格为空时,移除Tooltip属性
      $(this).removeAttr('title');
    }
  });
},

说明

  1. 移除了给整行设置title的逻辑,改为遍历每个<td>元素
  2. 通过trim()去除单元格文本的首尾空白,避免空字符串或纯空格的单元格误判
  3. 仅当单元格有实际内容时,才设置Tooltip(内容为你隐藏的Office列数据data[2])
  4. 空值单元格直接移除title属性,不会触发Tooltip

这样修改后,第一行的Age、Something列,第二行的Start date、Salary列这类空值单元格就不会显示Tooltip了,符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 03:00:00