我正在构建一个jQuery mini-plugin来显示打印预览,然后打印我的应用程序运行的一些报告的结果.我需要能够不打印某些部分(例如:没有结果的报告,UI元素等).我试过css @media print无济于事.我不知道为什么它不起作用,但我完全按照w3schools媒体类型页面上的描述实现它,IE仍然想要打印这些元素.
所以我决定暴力破解它,只是从克隆的DOM中删除.noPrint元素.事实证明,这将解决我期待的计划"输出到.pdf"功能的问题.
我的问题是,虽然
$(clonedHtml).find('.noPrint')
Run Code Online (Sandbox Code Playgroud)
很好地返回noPrint元素的集合,
$(clonedHtml).remove('.noPrint')
Run Code Online (Sandbox Code Playgroud)
不删除任何东西.我也尝试过这样删除它:
var removeMe = $(clonedHtml).find('.noPrint');
clonedHtml.remove(removeMe);
Run Code Online (Sandbox Code Playgroud)
这显然也无效.此语法基于API文档的第二个示例:
$("p").remove(":contains('Hello')");
Removes all paragraphs that contain "Hello" from the DOM. Analogous to doing
$("p").filter(":contains('Hello')").remove().
Run Code Online (Sandbox Code Playgroud)
真正的问题:为什么?我检查了删除()的API文档,我已经阅读了我在谷歌上找到的所有内容,并且我搜索了jQuery论坛但找不到任何内容.