【发布时间】:2012-02-27 07:54:43
【问题描述】:
我正在构建一个 jQuery 迷你插件来显示打印预览,然后打印我的应用程序运行的一些报告的结果。我需要能够不打印某些部分(例如:没有结果的报告、UI 元素等)。我试过 css @media print 无济于事。我不知道为什么它不起作用,但我已经完全按照 w3schools 媒体类型页面上的描述实现了它,并且 IE 仍然想要打印这些元素。
所以我决定强行使用它并从克隆的 DOM 中删除 .noPrint 元素。事实证明,这将解决我计划中的“输出到 .pdf”功能所遇到的问题。
我的问题是,虽然
$(clonedHtml).find('.noPrint')
很好地返回 noPrint 元素的集合,
$(clonedHtml).remove('.noPrint')
不会删除任何东西。我也试过这样删除它:
var removeMe = $(clonedHtml).find('.noPrint');
clonedHtml.remove(removeMe);
这显然也不起作用。此语法基于 API 文档的第二个示例:
$("p").remove(":contains('Hello')");
Removes all paragraphs that contain "Hello" from the DOM. Analogous to doing
$("p").filter(":contains('Hello')").remove().
真正的问题:为什么?我检查了 remove() 的 API 文档,我已经阅读了我在 google 上可以找到的所有内容,并且我搜索了 jQuery 论坛并且找不到任何内容。
【问题讨论】:
-
在google和论坛之前阅读的第一名是api规范api.jquery.com/remove
-
我没有投票给你,因为这个问题的表述很好;在我的评论中,我只是想让您注意,在这里询问的时间可能足以让您再次阅读文档
-
好的。删除了我的评论。为我的假设道歉。但是,是的,那是我看的第一个地方。更新了我的问题以反映这一事实,希望对将来搜索此问题的任何人有所帮助。谢谢。
-
好的;您是否暗示您的编辑中的文档有误?因为api文档刚刚好