我正在尝试使用replace()来解析带有动态内容的模板变量。但是,当我使用$ .each()迭代替换数组时,替换似乎不起作用。什么都没有被取代。这是我的代码:
var defaults = {
sample_div : '#sample-ref',
remove_button : '#removereference',
update_div : '#references',
add_button : '#addReference',
hidden_input : 'input[name="references"]'
};
var options = $.extend(defaults, options);
var new_ref = $('[name="reference"]').val();
var existing = $(options.hidden_input).val();
if(new_ref.length > 0){
existing = existing.split(',');
existing.push(new_ref);
var sample = $(options.sample_div).html();
var replacements = {
ref_int : existing.length,
ref_url : new_ref
}
$.each(replacements, function(index, value){
sample = sample.replace(/{index}/g, value);
});
$(options.update_div).append(sample);
}
以下是jsFiddle的更详细代码。问题发生在第25行。
答案 0 :(得分:0)
经过一番谷歌搜索后,我发现了StackOverflow question。我想出了以下内容,它有效。
sample = sample.replace(new RegExp("{"+index+"}", 'g'), value)
;