javascript - 获取某些文本替换它并将其包装在跨度中?

标签 javascript jquery

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

为了实现这一目标,我知道我应该:1.获取我的特定文本(完成...)
                                                       2.将我的文本包裹在span中(也这样做了......)
                                                       3.将我的文本替换为包含我的跨度的文本(尚未完成)

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

最佳答案

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/

关于javascript - 获取某些文本替换它并将其包装在跨度中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14838652/

相关文章:

jquery - 移动 <body> 使我无法滚动

php - jQuery 手机 : Two/three column vertical control group of radio buttons

javascript - 如何制作动画以使其遵循曲线?

javascript - node.js 返回 GMT 时间而不是 "new Date()"的本地时间。那是一个错误吗?

php - Symfony 3.1 和 OneUpUploaderBundle + Blueimp = UploadListener 未被调用

jquery - $ ("#form1").validate 不是一个函数

javascript - setTimeout 不起作用

javascript - 使用javascript代码的计算器

javascript - 是否可以只重新渲染模板的一部分

javascript - 文本框和图像的 jQuery 验证未按预期工作