2012-02-27 3 views
-1

인쇄 미리보기를 표시하고 내 응용 프로그램이 실행하는 일부 보고서의 결과를 인쇄하기 위해 jQuery 미니 플러그인을 작성하고 있습니다. 특정 섹션을 인쇄하지 않는 기능이 필요합니다 (예 : 결과, UI 요소 등이없는 보고서). 나는 css @media 인쇄를 아무 소용이 없어도 시도했다. 왜 작동하지 않는지 모르지만 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 포럼을 검색 했으므로 아무 것도 찾을 수 없습니다.

+1

첫 번째 장소를 구글 및 포럼 전에 읽고, API 사양 http://api.jquery.com/remove/ 내가 아래로 당신을 투표하지 않았다 –

+0

입니다 잘 공식화; 내 의견에 나는 방금 여기에 물어봤을 때 문서를 통해 두 번째 읽는 데 충분하다는 것을 알기를 원했습니다. –

+0

좋습니다. 내 의견을 삭제했습니다. 내 가정에 대한 사과. 하지만 그래, 그게 내가 처음 본 곳이야. 그 사실을 반영하여 내 질문을 업데이트했습니다. 장래에이를 검색하는 사람을 돕기를 바랍니다. 감사. – Will

답변

5

대신보십시오 : 질문 이었기 때문에

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

아아! 고맙습니다! 저는 바보입니다. 클린이 아닌 실제 문서를 사용하고 있다는 것을 제외하고는 엄청난 테스트 라인 목록에서 정확한 라인이 주석 처리되었습니다. 그것은 내가 해왔 던 실험의 홍수에서 길을 잃었다. 약 8 분 후에 받아 들일거야. 그건 ... 어떤 생각이 왜 $ (clonedHtml) .remove ('. noPrint'); 작동하지 않습니까? – Will

+1

@Will : 환영합니다 :) remove 메소드에 대한 구문이 틀렸기 때문에 작동하지 않았습니다. – Sarfraz

관련 문제