0

我正在尝试使这适用于我的页面,但我需要了解正则表达式替换。有人可以帮我分解一下吗?

function add_fields(link, association, content) {
    var new_id = new Date().getTime();
    var regexp = new RegExp("new_" + association, "g")
    $(link).parent().before(content.replace(regexp, new_id));
}

我了解第一行 (var new_id = ...) 以及为什么需要它,但是第二行在做什么,以及 id 替换如何工作?

我问是因为在我的应用程序中,当单击“add_new_row”时,新行将插入我的页面顶部,而不是它所属的表中。

谢谢你尽你所能的帮助。

4

1 回答 1

0

线

    var regexp = new RegExp("new_" + association, "g")

只需创建一个RegExp对象,它代表一个可匹配的模式。(在内部,它“编译”模式,例如,如果它被重复匹配,它会提前完成它需要做的所有事情,以便后续使用更有效率。"g") flag 代表“全局”,意思是“替换所有匹配项”。我不确定是什么association,但该模式将匹配"new_<association>".

下一行

$(link).parent().before(content.replace(regexp, new_id));

利用该模式:生成的唯一的、基于日期时间的 id 替换上述模式的所有实例。最后,内容通过 放置在其所有兄弟节点之前before

于 2013-06-14T22:14:24.120 回答