我有像
这样的Html内容<span>
http://j.mp/eUcRNK
</span>
我想在上面的html文字上加上超链接
<span>
<a href="http://j.mp/eUcRNK" class="link" target="_blank">
http://j.mp/eUcRNK
</a>
</span>
我怎么能这样做..
答案 0 :(得分:2)
$('span').html(function(i,txt){
return $('<a>').text(txt).attr({'target':'_blank', 'href': txt }).addClass('link');
});
基于以下评论,我想这可以解决它。
$('span').html(function(i,txt){
return replaceURLWithHTMLLinks(txt);
});
function replaceURLWithHTMLLinks(text) {
var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
return text.replace(exp,"<a class='link' href='$1' target='_blank' >$1</a>");
}
对于jquery 1.3.2,只需更改jQuery代码。
var span = $('span');
span.html(replaceURLWithHTMLLinks(span.html()));
答案 1 :(得分:1)
尝试
$("span").each(function(){
var text = $(this).text();
$(this).contents().wrap("<a class='link' href='" + text + "' target='_blank' />")
});