如何使用javascript从opener窗口viewsource中删除元素

如何使用javascript从opener窗口viewsource中删除元素,javascript,html,Javascript,Html,第一步 我有两个屏幕,一个是家长,另一个是孩子。 单击父窗口中的按钮,子弹出窗口将打开 步骤2 单击child中的一个按钮,我将在textbox.net中显示父窗口的htmlviewsource,并保存在一个隐藏变量hdnSource中 步骤3 我在子窗口中有4个复选框 如果未选中该复选框,则应删除html的该部分 例如:CBX个人,CBX专业 如果未选中cbxProfessional,我应该从hdnSource中的html中删除divProfessional并显示在文本框中 有人能帮我做编码的

第一步

我有两个屏幕,一个是家长,另一个是孩子。 单击父窗口中的按钮,子弹出窗口将打开

步骤2

单击child中的一个按钮,我将在textbox.net中显示父窗口的htmlviewsource,并保存在一个隐藏变量hdnSource中

步骤3

我在子窗口中有4个复选框

如果未选中该复选框,则应删除html的该部分

例如:CBX个人,CBX专业

如果未选中cbxProfessional,我应该从hdnSource中的html中删除divProfessional并显示在文本框中

有人能帮我做编码的第三部分吗


由于html在变量中,我无法找到document.getElementById中的div,试图进一步破解html字符串中的位将是令人恼火和有缺陷的。相反,在将DOM节点转换为HTML字符串之前,对其进行删除

为了避免从父页面的可见DOM中实际删除实际div,请在对节点进行操作之前克隆节点。例如

var copy= opener.document.body.cloneNode(true);

if (!document.getElementById('cbxPersonal').checked) {
    var div= copy.getElementById('divPersonal');
    div.parentNode.removeChild(div);
}

var html= copy.innerHTML;

“divPersonal”在父级中。如果子窗口中的“cbxPersonal”未选中,我应该将其从OpenerHTML中删除。使用文档而不是OpenerDocument来读取复选框的更新代码。