0
$(document).ready(function() {
    $(".table_class table td").hover(function() {
        $(".table_class table td a").filter(function() {
         showinTitle($(this));
        });
    });
});

function showinTitle($Object){
    $Object.prop('title', $Object.html());
}

我需要的意思是,对于长文本,我给出了溢出隐藏和文本溢出省略号,

当我悬停时意味着所有<td>值都需要在其悬停时显示在标题中,除了<a>标签

4

2 回答 2

0
function showinTitle($Object){
    var title = $Object.html();
    var wrapped = $("<div>" + title + "</div>");
    wrapped.find("a").remove();
    $Object.prop('title', wrapped.html());
}
于 2013-09-17T05:46:09.240 回答
0

jQuery过滤器功能用于根据条件从集合中删除元素,因此您不应该将它用于此问题。

如果您的td元素内容只是带有一些锚标记的文本,并且您想显示"title with link"td like的标题<td>title with <a>link</a></td>,那么您可以只使用 td 的文本来生成标题:

$(document).ready(function() {
  $(".table_class table td").each(function() {
    $(this).prop('title', $(this).text())
  })
})

如果您试图让每个 td 的标题显示除锚标记的内容之外的所有内容(也就是说,如果您想显示"title with"td like的标题<td>title with <a>link</a></td>),那么您需要执行类似于 Arvind 建议的操作:

$(document).ready(function() {
  $(".table_class table td").each(function() {
    var contents = $("<td>" + $(this).html() + "</td>");
    contents.find("a").remove();
    $(this).prop('title', contents.text())
  })
})

这会在文档加载时遍历每个 td,并创建它的临时克隆。然后从克隆中删除锚标记,并将 td 的标题设置为克隆的(清理后的)内容。

于 2013-09-17T05:59:25.250 回答