我有一个HTML表,其中一列是电子邮件地址;抛开spambot问题,我想将此列中的每个<td>
元素转换为mailto:link。
这就是我所拥有的:
$("table.data tbody tr td:last").each(function() {
var email = $(this).val();
$(this).html('<a href="mailto:' + email + '">' + email + '</a>');
});
这是表格(样本):
<tr>
<td>Joe</td>
<td>Shmoe</td>
<td>example@example.net</td>
</tr>
出了什么问题?
答案 0 :(得分:2)
您的jquery选择器错误。
当你执行'table.data tbody tr td:last'时,它只会选择最后一行的最后一个单元格。
您需要做的是:
$(document).ready(
function()
{
//For each row...
$('table.data tbody tr').each(
function()
{
//...find the last cell.
var lastCell = $(this).find('td:last');
$(lastCell).html('<a href="mailto:' + $(lastCell).text() + '">' + $(lastCell).text() + '</a>');
}
);
}
);
答案 1 :(得分:1)
您应该使用 .text()而不是 .val():
$("table.data tbody tr td:last").each(function() {
var email = $(this).text();
$(this).html('<a href="mailto:' + email + '">' + email + '</a>');
});