我更改时Javascript对象无法正常工作

时间:2013-11-16 11:24:04

标签: javascript jquery html

我制作了一个程序,用于突出显示搜索过的页面中的所有单词。 我喜欢这个时工作正常

var high = "<span class='highlighted'>hello</span>";
document.getElementById("inputText").innerHTML = inputText.replace(/\kumar/g, high);

用hello highligheted替换所有kumar名称..

但它是静态的,我们无法在运行时更改kumar 所以我想像这样改变

var high = "<span class='highlighted'>hello</span>";
var kk='kumar';
document.getElementById("inputText").innerHTML = inputText.replace(/\kk/g, high);

但这不起作用。它不会改变kumar字......

2 个答案:

答案 0 :(得分:1)

您可以使用RegExp构造函数,而不是使用RegExp文字。

var yourVar = "pattern (to replace)";
var re = new RegExp(yourVar, "g");

然后:

var high = "<span class='highlighted'>hello</span>";
document.getElementById("inputText").innerHTML = inputText.replace(re, high);

答案 1 :(得分:1)

使用RegExp构造函数

var high = "<span class='highlighted'>hello</span>";
var kk='kumar';
document.getElementById("inputText").innerHTML = inputText.replace(new RegExp(kk, 'g'), high);

注意转义,因为传递给构造函数的是一个文字字符串。 有关详细信息,您只需要谷歌。