为什么我的替换方法不起作用?

时间:2014-11-05 21:49:41

标签: jquery

我正在尝试使用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行。

1 个答案:

答案 0 :(得分:0)

经过一番谷歌搜索后,我发现了StackOverflow question。我想出了以下内容,它有效。

sample = sample.replace(new RegExp("{"+index+"}", 'g'), value);