因此,使用jQuery,我试图使用数组来搜索使用数组的段落元素,当它找到某些单词时,便将该单词转换为与该类的链接。
我正在尝试使用此:
jQuery('.story').html(function(i,html) {
var w = ['ocean','waves','bed', 'swimming'];
$.each(w,function(i,w) {
html = html.replace(new RegExp('<a href="" class="' + w + '">' + w + '</a>', 'g'),w[i]);
});
return html;
});
jsfiddle
最终结果将把
ocean
变成<a href="" class="ocean">ocean</a>
等。但这似乎不起作用。我也不明白为什么。提前谢谢。
m(_ _)m
_ | 7O
(最终的计划是使它在按下时使这些单词播放特定的SFX,而我将以此作为基础,因此当该单词在故事中再次出现时,它会播放相同的声音)。
最佳答案
像这样?
var w = ['ocean','waves','bed', 'swimming'],
reg = new RegExp('(' + w.join('|') + ')','g');
jQuery('.story').html(function(_, curHtml) {
return curHtml.replace(reg,"<a href='#' class='$1'>$1</a>");
});
Demo
您需要使用
html
而不是val
并根据所有单词构造正则表达式,以便可以立即对其进行匹配,然后将匹配的值替换为字符串并使用匹配令牌$ 1