JQuery使用<img/> </p>替换<p>中的部分文本

时间:2013-09-20 13:03:43

标签: javascript jquery html css

我的身体里有这个代码:

<p>
    hello ok hello no
<p>

<p>
    ok hello ok ko 
<p>    

我希望<p>代码<img>

替换每个<img src="ok.png" alt="good word"/>文字'ok'

是否可以这样做?

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

4 个答案:

答案 0 :(得分:3)

使用each

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

我使用了/\bok\b/,因此token之类的内容不匹配。 \b表示“单词边界”。

Here's a fiddle

答案 1 :(得分:0)

我个人建议:

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

JS Fiddle demo

参考文献:

答案 2 :(得分:-1)

我希望这会有所帮助

   var x=$('p').html();
    var n=x.replace("ok","<img src='ok.png' alt='good word'>"); 
    $('p').html(n);

答案 3 :(得分:-2)

尝试replaceWith - jquery

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

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