2

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

要做到这一点,我知道我应该: 1. 获取我的特定文本(完成...)
                                                       2. 将我的文本包装在 span 中(也完成...)
                                                       3. 用包含我的 span 的文本替换我的文本(haven'没做过)

我的问题是第 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');
}
});
4

3 回答 3

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

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

演示:http: //jsfiddle.net/V7Wnk/1/

于 2013-02-12T17:55:41.337 回答
1
$('.get').html(function (i, v) {
    return v.replace('some', '<span>some</span>');
});
于 2013-02-12T17:55:54.300 回答
1
$('.get').html($(".get").html().replace("some","<span> some </span>"));
于 2013-02-12T17:58:43.433 回答