代码之家  ›  专栏  ›  技术社区  ›  4532066

设置标题属性

  •  -1
  • 4532066  · 技术社区  · 8 年前

    我有一个表,并使用一些JS重写了一些内容:

    var cells1 = document.querySelectorAll('td.listBodyCell');
    
    for (var i = 0; i < cells1.length; i++) {
        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) {
            cell.innerHTML = cell.innerHTML.substring(0,30);
        }
    }
    

    对于上述代码的此部分:

    if (url_loc.indexOf("CustomCalls") > 0) {
        cell.innerHTML = cell.innerHTML.substring(0,30);
    }
    

    我希望能够向包含完整单元格的表单元格添加title属性。innerHTML内容,以便用户可以将鼠标悬停在单元格内容上以查看其完整值。

    然而,我不确定我是否/如何才能做到这一点?

    我回顾了这个SO问题: Setting title attribute with Javascript function

    但无法确定如何对其进行修改以使用我的代码。

    2 回复  |  直到 8 年前
        1
  •  2
  •   Mitya    8 年前

    当然可以。仅使用 setAttribute() :

    cell.setAttribute('title', cell.innerHTML);
    

    一定要这样做 之前 您截断 innerHTML 最多30个字符,否则标题也将包含截断的值。

        2
  •  1
  •   Studocwho    8 年前

    所以基本上我只是拉 this answer 直接从您的问题中链接的问题。。。

    仅使用 .setAttribute();

    因此,您可以使用以下内容:

    cell.setAttribute('title', cell.innerHTML);
    

    不过,请在if语句之前插入此内容。