尝试用变量替换字符串中的所有 # 实例。它不起作用,但也没有重新调整任何错误。
answer_form = '<textarea name="answer_#" rows="5"></textarea>'+
'<input type="file" name="img_#" />';
question_num = 5;
answer_form.replace(/#/g, question_num);
哈希仍然存在。
不确定我错过了什么?
尝试用变量替换字符串中的所有 # 实例。它不起作用,但也没有重新调整任何错误。
answer_form = '<textarea name="answer_#" rows="5"></textarea>'+
'<input type="file" name="img_#" />';
question_num = 5;
answer_form.replace(/#/g, question_num);
哈希仍然存在。
不确定我错过了什么?
.replace()
返回一个新字符串(它不会修改现有字符串),因此您需要:
answer_form = answer_form.replace(/#/g, question_num);
您可能还应该创建question_num
一个字符串,尽管自动类型转换可能会为您处理。
工作示例:http: //jsfiddle.net/jfriend00/4cAz5/
仅供参考,在 Javascript 中,字符串是不可变的 - 现有的字符串永远不会被修改。因此,任何对字符串进行修改的方法(如concat
, replace
, slice
, substr
, substring
, toLowerCase
, toUpperCase
, 等)总是返回一个新字符串。
你的代码是正确的。只需像这样将值添加到变量中:
answer_form = '<textarea name="answer_#" rows="5"></textarea>'+
'<input type="file" name="img_#" />';
question_num = 5;
answer_form = answer_form.replace(/#/g, question_num);