将链接写入链接jQuery

时间:2013-06-17 03:15:50

标签: javascript jquery html append appendto

我正在努力做到这一点:

<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>';
});

谢谢!

4 个答案:

答案 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>';
});

Fiddle

答案 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>';
});

http://jsfiddle.net/bUpYE/1/

答案 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>';
});

http://jsfiddle.net/samliew/ZUYCX/

答案 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