반응형
http://blog.naver.com/PostView.nhn?blogId=gmlwns77&logNo=50157391611
jQuery의 remove(), empty(), detach() 함수를 이용하여 노드를 dom에서 제거하는 방법을 알아보겠습니다.
예제에 사용될 메소드는 다음과 같습니다.
1. remove() : 선택된 노드를 dom에서 제거합니다.
이미지 출처 : 바로바로 할 수 있는 jQuery 입문 저자 : 유광열
ex ) //이미지 태그중 첫번째 노드 제거
$("img:first").remove();
2. empty() : 선택 객체의 자식노드를 삭제합니다. 선택한 객체를 삭제하는 remove와는 다르게 자식노드를 삭제 하기 떄문에 선택객체는 남아 있습니다.
ex ) //p태그중 첫번째 p태그의 내용을 삭제,p노드 자체가 삭제되지는 않음
$("p:first").empty();
3. detach() : remove함수처럼 선택된 노드를 삭제 합니다. 하지만 detach함수에 의해 제거된 노드를 임시로 보과할 수 있어, 제거와 삽입을 반복할 떄에 많이 사용됩니다.
ex )//div#content의 내용을 div#content2에 넣는다.
var temp = $("div#content").detach();
$("div#content2").html(temp);
정리해보면, remove함수는 해당노드를 포함한 모든 노드, 관련된 모든 이벤트, 데이터 모두 제거 됩니다. 이때 데이터와 이벤트를 제거하지 않으려면 detach()를 사용하면 됩니다.
empty함수는 선택 객체는 삭제 하지 않고 자식노드를 삭제합니다.
세 함수중 제거 속도는 remove가 가장 빠릅니다.
예제로 세 함수를 살펴 보겠습니다.
예제 1) remove.html
<p><img src="http://blogimgs.naver.net/nblog/skins/weather/weather_15_7"/></p> 노드가 완전히 제거 됩니다.
예제 2) empty.html
<p>item1</p>에서 item1만 삭제되고 <p></p>가 남게 됩니다.
예제 3) detach.html
div#content의 모든 내용은 dom에서 제거 되고 div#content2에 삽입 됩니다.
참고서적 : 바로바로 할 수 있는 jQuery 입문 저자 : 유광열
반응형
'Web > Javascript_Jquery' 카테고리의 다른 글
자바스크립트에서의 다국어 지원 jquery.i18n.properties [ 참고 url ] (0) | 2018.01.15 |
---|---|
다국어 처리 ${pageContext.response.locale} (0) | 2017.12.27 |
jQuery Validation: Changing Rules Dynamically 동적 변경 (0) | 2017.08.16 |
Query validator 없는 메소드 , 메소드 추가 (0) | 2017.07.18 |
[문제 ] 크로스도메인 부모창 팝업 함수 호출 (0) | 2017.07.14 |
댓글