在打印文档时,我需要对其进行不同的格式化。基本内容,媒体打印与屏幕,然而,这个特定的网页是得到一些内嵌样式动态插入。我怎么才能在送去打印之前剥掉它们?
我使用jQuery添加了一个元素,该元素在屏幕上不可见,但显示在print (#myElement)中。所以我试着利用这个元素,但并没有真正成功。
if ($('#myElement').is(':visible')) {
$('.myContent').attr('style', '');
}我遗漏了什么?
谢谢。
发布于 2014-05-06 21:33:42
下面是一个示例,说明如何使用普通的、普通的JS:http://jsfiddle.net/AfdzW/来完成此操作。基本上,您只需针对希望删除其内联样式的DOM元素并调用它们上的removeAttribute()方法即可。
function clearInlineStyles(sel) {
var els = document.querySelectorAll(sel);
[].forEach.call(els, function(e) {
e.removeAttribute('style');
});
}
clearInlineStyles('div');作为另一种选择,如果您只希望针对某些内联样式,可以使用$.fn.css() jQuery方法单独针对这些样式:
$.fn.removeSelectedStyles = function() {
var styles = arguments;
this.each(function() {
var $that = $(this);
[].forEach.call(styles, function(style) {
$that.css(style, '');
});
});
}
$('div').removeSelectedStyles('background', 'height');这里有一个小提琴演示了jQuery插件的工作原理
https://stackoverflow.com/questions/23504768
复制相似问题