0

我正在努力做到这一点:

<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

4 回答 4

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

小提琴

于 2013-06-17T03:19:22.450 回答
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/

于 2013-06-17T03:24:46.763 回答
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/

于 2013-06-17T03:19:10.167 回答
0

尝试

$('.Status-cell').html(function(idx, value){
    value = $.trim(value);
    return '<a href="http://www.domain.com' + value + '">http://www.domain.com' + value + '</a>';
})

演示:小提琴

于 2013-06-17T03:20:21.720 回答