因此,使用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

09-30 13:58