获取某些文本替换它并将其包裹在span中?

时间:2013-02-12 17:52:27

标签: javascript jquery

我有以下html <p class="get">This is some content.</p>我想做的就是这样:<p class="get">This is <span>some</span> content.</p>

为了实现这一点,我知道我应该:1。得到我的特定文本(完成......)
2.将我的文字换成跨度(也是......)
3.用包含我的span (尚未完成)

的文本替换我的文本

我的问题是第3步我无法理解。那么如何用新的文本替换我的“旧”文本?
谢谢你们!!!
Fiddle here

我的代码如下:

$(document).ready(function(){
//get the whole text
var ptext = $(".get").text().split(" "); 
var myText = ptext[2]; 
//alert(ptext[2])
//alert(myText);
if($('.get').text().contains(myText)){
//$('<span>'+myText+'</span>').appendTo($('.get'));
}
else{
alert('no text');
}
});

3 个答案:

答案 0 :(得分:2)

var word = "some",
    regex = new RegExp("\\b" + word + "\\b", "g");

$(".get").html(function(i, html) {
    return html.replace(regex, "<span>$&</span>");
});

DEMO: http://jsfiddle.net/V7Wnk/1/

答案 1 :(得分:1)

$('.get').html(function (i, v) {
    return v.replace('some', '<span>some</span>');
});

答案 2 :(得分:1)

$('.get').html($(".get").html().replace("some","<span> some </span>"));