$(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>
标记除外
答案 0 :(得分:0)
function showinTitle($Object){
var title = $Object.html();
var wrapped = $("<div>" + title + "</div>");
wrapped.find("a").remove();
$Object.prop('title', wrapped.html());
}
答案 1 :(得分:0)
jQuery filter函数用于根据条件从集合中删除元素,因此您不应该将它用于此问题。
如果您的td
元素的内容只是带有一些锚标记的文字,并且您希望为"title with link"
这样的标识显示标题<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显示标题<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的标题设置为克隆的(已清理的)内容。