jquery - 如何从 jQuery 选择或克隆的 html 中删除元素?

标签 jquery css find clone

我正在构建一个 jQuery 迷你插件来显示打印预览,然后打印我的应用程序运行的一些报告的结果。我需要能够不打印某些部分(例如:没有结果的报告、UI 元素等)。我试过 css @media 打印无济于事。我不知道为什么它不起作用,但我已经完全按照 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 文档,我已经阅读了我可以在谷歌上找到的所有内容,并且我已经搜索了 jQuery 论坛,但找不到任何内容。

最佳答案

试试这个:

$(clonedHtml).find('.noPrint').remove();

关于jquery - 如何从 jQuery 选择或克隆的 html 中删除元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9461638/

相关文章:

jquery - 组合两个功能,同时它们单独运行

javascript - 如何在整个页面上覆盖 jQuery UI 对话框?

html - CSS 翻转图像

css - Bootstrap 视频播放器

find - 如何在单独的选项卡或窗口中显示查找结果?

arrays - 使用 find 和 grep 填充数组

javascript - 对于定义低于其使用的函数,出现错误 ReferenceError

html - 如何在选择选项标签中显示图标

c++ - QWidget findChildren when objectname contains a specific string

javascript - Chrome jquery .animate() 留下 'movement' 行