把大括号里的东西换成
span
,然后将HTML设置为替换文本,并简单地将现有链接复制到范围中?我认为您需要引用大括号,因为它们在正则表达式中是特殊的——不过,对于javascript来说,在这方面我可能是错的。如果是,请告诉我,我会更新。注意使用
closest
和
find
具有
first
获取当前表元素所在行中的第一个链接。
$(function() {
$('td.german').each(function() {
var link = $(this).closest('tr').find('a:first').clone();
var re = new RegExp( '\{.*\}' );
var sentence = $(this).text();
var word = sentence.match(re)[0];
word = word.substr(1,word.length-2);
link.text(word);
sentence = sentence.replace(re,'<span></span>');
$(this).html(sentence).find('span').append(link);
});
});
如果你的链接文本已经包含了这个词,那就简单多了。
$(function() {
$('td.german').each(function() {
var link = $(this).closest('tr').find('a:first').clone();
var sentence = $(this).text().replace(re,'<span></span>');
$(this).html(sentence).find('span').append(link);
});
});