javascript - 如何从选定的 html 中删除节点,而不将其从当前页面中删除?

标签 javascript jquery html css dom

我正在使用 jquery 从我的页面中获取 HTML 并在新窗口中打开它进行打印。我必须自定义一些样式,以便在打印时格式有效。我的主页上有一个表格,其中包含 <colgroup>定义列的宽度,但是当我打印它时,我隐藏了最后一列(因为它有一个打印输出不需要的按钮,并且打印时按钮会丢弃格式),但是宽度由于 colgroup,列的保留。如果我从表中删除 colgroup,非隐藏列将填充宽度并且格式是完美的。我不知道如何删除我的打印窗口上的 colgroup 节点,而不是从原始窗口中删除它(这是不可能发生的)。这是我的打印代码:

var newWin;

function printDetails() {
    var content = $("#pdf-area").html();
    var host = window.location.protocol + "//" + window.location.host;
    var cssFiles = [
        host + "/Themes/MSD/Styles/template/ma-order-details-2.css",
        host + "/Scripts/libraries/zurb-responsive-tables/0.0.0/responsive-tables.css",
        host + "/Themes/MSD/Styles/template/checkout-cart-2.css",
        host + "/Themes/MSD/Styles/msdtheme.css",
        host + "/Themes/MSD/Styles/foundation.css",
        host + "/Themes/MSD/Styles/base.css",
        host + "/Themes/MSD/Styles/print.css"
    ];
    newWin = window.open();    
    cssFiles.forEach(function (file) {
        newWin.document.write('<link rel="stylesheet" href="' + file + '" type="text/css" />');
    });
    newWin.document.write("<span class='please-wait'>Please wait...</span>");
    newWin.document.write("<div class='ma-order-details-2'>");
    newWin.document.write(content);
    newWin.document.write("</div>");
    newWin.document.close();
    newWin.focus();
    setTimeout(function () {
        newWin.print();
        newWin.close();
    }, 1000);   
}

我想从 content 中删除 colgroup,或者从 newWin 中删除它,但我不知道该怎么做。 $("colgroup").remove() 将从原始页面中删除它,而不是从新窗口中删除它。

最佳答案

您可以在打印样式表上使用 display:none 隐藏它,而不是删除它。

@media print {
    ...
    .colgroup {
         display:none;
    }
}

关于javascript - 如何从选定的 html 中删除节点,而不将其从当前页面中删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34421568/

相关文章:

javascript:再次循环数组时,我希望重置对象属性

javascript - ESRI 自定义主页按钮 gis javascript

javascript - 创建一个处理可选参数的函数

javascript - 通过 jquery 从 html 变量中获取特定标签

html - 屏幕阅读器应读取 aria-label 并忽略带有 for 属性的标签

javascript - 偶数/非偶数列表项中断功能

javascript - 禁用模式对话框的鼠标中键

javascript - URL 中的主题标签用于根据比较 ID 显示 div

html - 如何在 HTML/CSS/Bootstrap 中将输入字段居中

html - 当尺寸缩小超过一定限度时,防止网页 View 进入移动 View