如何在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'); } }); },
说明
- 移除了给整行设置
title的逻辑,改为遍历每个<td>元素 - 通过
trim()去除单元格文本的首尾空白,避免空字符串或纯空格的单元格误判 - 仅当单元格有实际内容时,才设置Tooltip(内容为你隐藏的Office列数据
data[2]) - 空值单元格直接移除
title属性,不会触发Tooltip
这样修改后,第一行的Age、Something列,第二行的Start date、Salary列这类空值单元格就不会显示Tooltip了,符合你的需求。
内容的提问来源于stack exchange,提问作者newuser
相关产品推荐
相关产品推荐

