jQuery替换变量?

我正在尝试对这样的字符串进行replace

 $('#example_id').replace(/abc123/g,'something else') 

abc123实际上需要变量。

所以类似于:

 var old_string = 'abc123' $('#example_id').replace(/old_string/g,'something else') 

那么我如何在替换函数中使用变量?

$('#example_id')将为您提供一个jQuery对象,您必须在其html或值中替换字符串。 试试这个。

 var re = new RegExp("abc123","g"); $('#example_id').html($('#example_id').html().replace(re, "something else")); 

还有另一个版本的replace,它接受一个RegExp对象。 该对象可以从字符串文字构建:

 var old_string = "abc123"; var myregexp = new RegExp(old_string,'g'); $('#example_id').replace(myregexp,'something else') 

这里有一些有用的信息

您可以使用构造函数创建正则表达式。

 var re = new RegExp('abc123', 'g') $('#example_id').replace(re,'something else') 

这是RegExp文档。

要替换元素的内部html内容,您可以使用html方法:

 $('#example_id').html(function(i, s){return s.replace(re, 'replace with')}) 

创建一个RegExp对象:

 var regexp = new RegExp(old_string, 'g'); $('#example_id').replace(regexp,'something else'); 

编辑:固定参数