如何为截取内容的表格单元格添加完整内容的title属性?
解决方案
很简单,只需要在截取单元格内容之前先把完整的innerHTML存到单元格的title属性里就行。我帮你调整了代码,关键改动已经标出来了:
var cells1 = document.querySelectorAll('td.listBodyCell'); for (var i = 0; i < cells1.length; i++) { var cell = cells1[i]; cell.innerHTML = ConvString(newlinesToBreaks(cell.innerHTML)); cell.innerHTML = cell.innerHTML.replace(/<br><br>/g, '<br>'); // remove double line breaks cell.innerHTML = cell.innerHTML.replace(/With Customer/g, '<span style="color:green;">With Customer</span>'); cell.innerHTML = cell.innerHTML.replace(/To Investigate/g, '<span style="color:red;">To Investigate</span>'); // --- 新增/修改的部分 --- if (url_loc.indexOf("CustomCalls") > 0) { // 先把完整内容赋值给title属性,鼠标悬停就能查看 cell.title = cell.innerHTML; // 再执行截取操作 cell.innerHTML = cell.innerHTML.substring(0,30); } // --- 结束新增部分 --- }
关键说明:
- 必须在截取内容之前设置
title属性,不然存的就是截取后的短内容,达不到预期效果 cell.title会自动把HTML标签当作纯文本显示,用户鼠标悬停时能完整看到处理后的原始内容- 如果你的内容里包含特殊字符(比如双引号),可以改用
cell.setAttribute('title', cell.innerHTML)来避免潜在的语法冲突,不过大多数场景下直接赋值cell.title就足够用
内容的提问来源于stack exchange,提问作者4532066
相关产品推荐
相关产品推荐

