Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取特定文本替换它并将其包装在span中?_Javascript_Jquery - Fatal编程技术网

Javascript 获取特定文本替换它并将其包装在span中?

Javascript 获取特定文本替换它并将其包装在span中?,javascript,jquery,Javascript,Jquery,我有以下html这是一些内容。我想做的是让它变成这样:这是一些内容。要做到这一点,我知道我应该:1。获取我的特定文本(完成该操作…) 2。在span中包装我的文本(也这样做了…) 3。将我的文本替换为包含我的跨度的文本(尚未完成) 我的问题是第三步,我就是想不出来。那么,我如何才能用新文本替换我的“旧”文本呢?谢谢大家 我的代码如下所示: $(document).ready(function(){ //get the whole text var ptext = $(".get").text(

我有以下html

这是一些内容。

我想做的是让它变成这样:

这是一些内容。



要做到这一点,我知道我应该:1。获取我的特定文本(完成该操作…)
2。在span中包装我的文本(也这样做了…)
3。将我的文本替换为包含我的跨度的文本(尚未完成)

我的问题是第三步,我就是想不出来。那么,我如何才能用新文本替换我的“旧”文本呢?
谢谢大家



我的代码如下所示:

$(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');
}
});
$(文档).ready(函数(){
//了解全文
var ptext=$(“.get”).text().split(“”);
var myText=ptext[2];
//警报(ptext[2])
//警报(myText);
如果($('.get').text()包含(myText)){
//$(''+myText+'').appendTo($('.get');
}
否则{
警报(“无文本”);
}
});
var word=“some”,
regex=newregexp(“\\b”+word+”\\b,“g”);
$(“.get”).html(函数(i,html){
返回html.replace(regex,“$&”);
});
演示:

$('.get').html(函数(i,v){
返回v.替换('some','some');
});
$('.get').html($(“.get”).html().replace(“some”,“some”);

为什么需要正则表达式(除非实际的文本方式比示例更复杂)?如果你真的需要一个正则表达式,为什么不需要一个字面上的呢?@JosephSilber正则表达式提供了一个全局替换的可能性。此外,它对于单词检测更灵活……本例中没有。但即便如此,为什么不使用文字正则表达式呢?@JosephSilber当然是为了展示如何在不同的单词中使用它。最好使用
.html
函数的arg函数来处理这个特定的情况。非常感谢您的回答…THX!!
var word = "some",
    regex = new RegExp("\\b" + word + "\\b", "g");

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