问了几次,但我无法让它工作。
我在一个替换各种类名的脚本中做了很多这些。
label.className.replace(/(?:^|\s)ui-icon-checkbox-on(?!\S)/g , ' ui-icon-globe');
并想replace
用一个通用函数替换我的调用,该函数被传递一个字符串,ui-icon-checkbox-on
并返回一个正则表达式对象来处理我的替换。
但是,这不起作用=它没有替换任何东西:
var foo = function (className) {
return new RegExp("(?:^|\s)" + className + "(?!\S)", "g");
};
label.className = label.className.replace(foo("ui-icon-checkbox-on"), ' ui-icon-globe');
我不知道为什么。
问题:
如何正确创建一个正则表达式对象,并用它来用另一个字符串替换一个字符串?
谢谢!
PS:不,我不想使用 jQuery 来做这件事 :-)