jQuery替换变量?

时间:2012-01-23 16:13:29

标签: jquery replace

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

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

abc123实际上需要是变量。

类似于:

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

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

4 个答案:

答案 0 :(得分:17)

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

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

答案 1 :(得分:1)

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

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

一些有用的信息here

答案 2 :(得分:0)

创建RegExp对象:

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

编辑:固定参数

答案 3 :(得分:0)

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

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')})