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

时间:2012-02-27 07:54:44

标签: jquery css find clone

我正在构建一个jQuery mini-plugin来显示打印预览,然后打印我的应用程序运行的一些报告的结果。我需要能够不打印某些部分(例如:没有结果的报告,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(). 

真正的问题:为什么?我检查了删除()的API文档,我已经阅读了我在谷歌上找到的所有内容,并且我搜索了jQuery论坛但找不到任何内容。

1 个答案:

答案 0 :(得分:5)

请改为尝试:

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