我遇到了一个我无法在任何地方找到的问题,我看到一个正则表达式方法,但是在变量中使用直接字符串而不是字符串。这是我的代码:
var src = getQueryVariable("srcStr");
if(src != false){
$(".entry-content").html($(".entry-content")
.html().replace(/src/g, "<span style='background-color:#f2e128;'>"
+ src + "</span>"));
}
这将获取一个url变量(srcStr),并在.entry-content中搜索文本正文,以查找var src
中存储的字符串。
问题代码在这里:replace(/src/g
有解决方案吗?
答案 0 :(得分:9)
您正在搜索字面上为“src”的模式。如果要在模式中使用变量,则需要使用RegExp
类:
pattern = new RegExp(src, 'g');
$(".entry-content")...html().replace(pattern, replacement);