Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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_Regex - Fatal编程技术网

Javascript 为特定单词添加span

Javascript 为特定单词添加span,javascript,jquery,regex,Javascript,Jquery,Regex,我试图给一个特定的词加上一个span,如下所示: var value = "eror"; var template = "/(" + value + ")/g"; $("#content").html($("#content").html().replace(template, '<span class="spell_error">$1</span>')); var value=“eror”; var template=“/(“+value+”)/g”; $(“#con

我试图给一个特定的词加上一个span,如下所示:

var value = "eror";
var template = "/(" + value + ")/g";
$("#content").html($("#content").html().replace(template, '<span class="spell_error">$1</span>'));
var value=“eror”;
var template=“/(“+value+”)/g”;
$(“#content”).html($(“#content”).html().replace(模板“$1”);
这是我的名片。我尝试使用我在这里看到的解决方案,但似乎不起作用。知道为什么吗?
谢谢

您混淆了正则表达式文字和字符串

使用此选项创建正则表达式:

var template = new RegExp("(" + value + ")", 'g');
正则表达式文字如下所示:

/(something)/
没有报价。但由于它是一个文本,您不能用代码构建它,因此必须使用
RegExp
构造函数

附带说明:通过使用函数作为回调函数的变量,您的替换件将变得更轻,更重要的是,更干燥:

$("#content").html(function(_,html){
    return html.replace(template, '<span class="spell_error">$1</span>')
});
$(“#内容”).html(函数(#,html){
返回html.replace(模板“$1”)
});

您混淆了正则表达式文字和字符串

使用此选项创建正则表达式:

var template = new RegExp("(" + value + ")", 'g');
正则表达式文字如下所示:

/(something)/
没有报价。但由于它是一个文本,您不能用代码构建它,因此必须使用
RegExp
构造函数

附带说明:通过使用函数作为回调函数的变量,您的替换件将变得更轻,更重要的是,更干燥:

$("#content").html(function(_,html){
    return html.replace(template, '<span class="spell_error">$1</span>')
});
$(“#内容”).html(函数(#,html){
返回html.replace(模板“$1”)
});

Ohhh,我把事情搞砸了。非常感谢。还感谢您建议使用回调。非常感谢。哦,我把事情搞砸了。非常感谢。还感谢您建议使用回调。非常感谢。