試圖用變量替換字符串中#的所有實例。它不工作,但不會重新調整任何錯誤。JS替換不能在字符串上工作
answer_form = '<textarea name="answer_#" rows="5"></textarea>'+
'<input type="file" name="img_#" />';
question_num = 5;
answer_form.replace(/#/g, question_num);
哈希依然存在。
不知道我錯過了什麼?
試圖用變量替換字符串中#的所有實例。它不工作,但不會重新調整任何錯誤。JS替換不能在字符串上工作
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);