我正在尝试为我的页面工作,但我需要了解正则表达式替换。有人可以为我打破这个吗?
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”时,新行会插入到我页面的顶部,而不是在它所属的表格中。
感谢您提供的任何帮助。
答案 0 :(得分:0)
该行
var regexp = new RegExp("new_" + association, "g")
只需创建一个RegExp
对象,它代表一个匹配的模式。 (在内部,它“编译”模式,以便,例如,如果它被重复匹配,它将完成所需的一切,只需提前一次,以便后续使用更有效。){{ 1}}是代表“全球”的标志,意思是“替换所有匹配”。我不确定"g"
是什么,但该模式将匹配association
。
下一行
"new_<association>"
使使用模式:将上述模式的所有实例替换为生成且唯一的基于日期时间的id。最后,通过$(link).parent().before(content.replace(regexp, new_id));
将内容置于其所有兄弟节点之前。