大家好我有一个DIV,我通过了一个js函数:
function print(divId) {
var det = document.getElementById(divId);
$(divId).removeClass(); ..
$(divId).removeAttr(); ..
var mywindow = window.open(' ', 'Print');
mywindow.document.write('<html><head><title>Account Detail</title>');
mywindow.document.write('<link href="../../css/reset-min.css" rel="stylesheet" type="text/css" />');
mywindow.document.write('</head><body>');
mywindow.document.write(det.innerHTML);
mywindow.document.write('</body></html>');
}
我已经尝试了一些jQuery函数,如上面所示,买它不起作用因为样式继承自css模板,所以如何完全删除CSS和样式属性completly ..我听说YUI重置{{ 3}}但我不知道如何在新的Windows Popup中使用它
谢谢!
答案 0 :(得分:1)
创建一个CSS类,它覆盖所有继承的属性,然后从div中删除所有类,并添加覆盖所有内容的css类。
答案 1 :(得分:1)
只需使用.css(
jQuery method并记住在必要时追加!important以强制执行覆盖。
这将有效地在元素上设置style="
属性。
答案 2 :(得分:1)
我认为您需要克隆目标节点以删除其中每个元素的属性:
var det = document.getElementById(divId);
if (det) {
det = det.cloneNode();
$(det).removeAttr("class").removeAttr("style").find("*").each(function(i, elem) {
$(elem).removeAttr("class").removeAttr("style");
});
// …
}
答案 3 :(得分:1)
这些有用吗:
$("link[rel=stylesheet][class=must-remove-when-printing]").remove();
和
$("*[class]").removeAttr("class");
$("*[style]").removeAttr("style");