我正在尝试对这样的字符串执行replace
:
$('#example_id').replace(/abc123/g,'something else')
但abc123
实际上需要是变量。
类似于:
var old_string = 'abc123'
$('#example_id').replace(/old_string/g,'something else')
那么我如何在替换函数中使用变量?
答案 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')})