我正在構建一個jQuery迷你插件來顯示打印預覽,然後打印我的應用程序運行的一些報告的結果。我需要能夠不打印某些部分(例如:沒有結果的報告,UI元素等)。我試過css @media print無濟於事。我不知道爲什麼它不起作用,但我已經完全按照w3schools媒體類型頁面上的描述來實現它,IE仍然希望打印這些元素。如何從jQuery選擇或克隆的html中刪除元素?
所以我決定蠻橫逼迫它,只是從克隆的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論壇並且找不到任何東西。
第一名谷歌和論壇之前閱讀,是API規範http://api.jquery.com/remove/ – 2012-02-27 07:58:27
我沒有投票你失望,因爲這個問題是制定完善;在我的評論中,我只是想讓你注意一下,在這裏提問的時間可能足以通過文檔 – 2012-02-27 09:52:04
再讀一遍。刪除我的評論。對我的假設抱歉。但是,那是我看到的第一個地方。更新我的問題以反映這一事實,希望能夠幫助任何未來搜索此內容的人。謝謝。 – Will 2012-02-27 09:57:09