我正在努力做到这一点:
<td class="Monthly Status-cell">/fileid=XXXX</td>
显示为
http://www.domain.com/fileid=XXXX
你能告诉我我的代码有什么问题吗?
$('.Status-cell').replaceWith(function() {
var url = $.trim($(this).text());
return '<a href="' + url + '" target="_blank">' + url + '</a>';
});
谢谢!
答案 0 :(得分:2)
使用.html()代替.replaceWith()
。在使用replaceWith
时,您正在用表内的锚替换td
,这是无效的,并且必须导致您的对齐混乱。
$('.Status-cell').html(function(_, currentText) {
var url = "http://www.domain.com" + $.trim(currentText);
return '<a href="' + url + '" target="_blank">' + url + '</a>';
});
答案 1 :(得分:1)
您应该将链接放在td
中,而不是用链接替换td
。您也没有将域添加到链接
$('.Status-cell').html(function() {
var url = window.location.protocol+'//'+window.location.host+$.trim($(this).text());
return '<a href="' + url + '" target="_blank">' + url + '</a>';
});
答案 2 :(得分:0)
使用.html()
代替.replaceWith()
var domain = window.location.hostname; // current domain
$('.Status-cell').html(function(i, value) {
var link = domain + $.trim(value);
return '<a href="//' + link + '">' + link + '</a>';
});
答案 3 :(得分:0)
尝试
$('.Status-cell').html(function(idx, value){
value = $.trim(value);
return '<a href="http://www.domain.com' + value + '">http://www.domain.com' + value + '</a>';
})
演示:Fiddle