0

我的身体里有这段代码:

<p>
    hello ok hello no
<p>

<p>
    ok hello ok ko 
<p>    

我想用标签替换每个<p>文本'ok'<img><img src="ok.png" alt="good word"/>

是否有可能做到这一点 ?

注意:我必须将此功能应用于其他可以包含撇号和/或引号的文本

4

4 回答 4

3

使用each

$('p').each(function() {
    this.innerHTML = this.innerHTML.replace(/\bok\b/g, '<img src="ok.png" alt="good word"/>')
})

我用/\bok\b/这样的东西token不匹配。\b意思是“单词边界”。

这是一个小提琴

于 2013-09-20T13:07:58.610 回答
0

我个人建议:

$('p').html(function(i,h){
    return h.replace(/\bok/g,'<img src="ok.png" alt="good word" />');
});

JS 小提琴演示

参考:

于 2013-09-20T13:16:15.080 回答
-1

我希望这有帮助

   var x=$('p').html();
    var n=x.replace("ok","<img src='ok.png' alt='good word'>"); 
    $('p').html(n);
于 2013-09-20T13:13:21.573 回答
-2

尝试替换 - jquery

$( "<p>" ).replaceWith( '<img src="ok.png" alt="good word"/>');
$( "</p>" ).replaceWith( "" );

有关更多信息,请阅读 jquery 文档 http://api.jquery.com/replaceWith/

于 2013-09-20T13:07:15.753 回答