用regex替换然后撤消

时间:2013-08-23 15:49:05

标签: javascript jquery

我有一个相当独特的问题,我正在尝试运行一些jquery逻辑来暂时替换页面上的文本。然后运行一些逻辑(我为我正在使用的工具截取屏幕截图)。到目前为止这很好用,问题是由于遗留代码我需要恢复替换调用在页面上所做的更改。

有关最佳方法的任何想法吗? 对于好奇,我目前有:

$('body').html($('body').html().replace(/[a-zA-Z0-9\\*]*@.*\\.com/g,'[replaced for screenshot]'))

谢谢!

3 个答案:

答案 0 :(得分:3)

我会质疑你的动机和推理,但我会提供一个答案:

var backup_body_html = $('body').html();
$('body').html(backup_body_html.replace(/[a-zA-Z0-9\\*]*@.*\\.com/g,'[replaced for screenshot]'));

然后:

$('body').html(backup_body_html);

(除非您需要保留事件处理程序等,在这种情况下需要克隆)

克隆方法:

var body_children = $("body").clone(true,true).children();
//other stuff (i.e. replacements)
//then:
$("body").html("");
$("body").append(body_children);

答案 1 :(得分:1)

并非完全严重,但我必须......

location.reload();

答案 2 :(得分:0)

var bodyHTML = document.body.innerHTML;
$('body').html(bodyHTML.replace(/[a-zA-Z0-9\\*]*@.*\\.com/g,'[replaced for screenshot]'));

$('body').html(bodyHTML)