javascript에는 outerHTML이라는 게 있어서 해당 객체의 안의 내용 뿐 아니라 자기 자신을 포함한 코드를 가져올 수가 있습니다.
<h2>공간 학습</h2>
<div id=”p-line”>
<p>회색 공간</p>
</div>
<div id=”p-line”>
<p>회색 공간</p>
</div>
이런 소스가 있다고 할 때, 아래처럼 소스를 가져올수가 있습니다.
document.getElementById(“p-line”).innerHTML (= $(“.p-line”).html())
<p>회색 공간</p>
document.getElementById(“p-line”).outerHTML
<div class=”p-line”>
<p>회색 공간</p>
</div>
<p>회색 공간</p>
</div>
jQuery에는 의외로 이런 outerHTML 메소드가 없습니다.
그래서, 만들어 주어서 사용해야 하는데, 의외로 간단히 한줄로 해결할수가 있습니다.
$(“p-line”).clone().wrapAll(“<div/>”).parent().html()
소스를 설명을 하자면…
본인 객체를 복사를 해서 <div> 태그로 자신을 감싼 다음에 부모의 html()을 구하는 방식입니다.
아래 예제에서 [항목 추가] 버튼을 누르면 이 outerHTML로 항목을 추가하고 있음을 알 수 있습니다.
저는 부트스트랩을 사용해서 예제를 만들어 보았는데, 필요없다면 부트스트랩 js, css 파일의 링크를 삭제하셔도 됩니다.
'프로그래밍 언어 > jQuery' 카테고리의 다른 글
[jQuery] 제이쿼리로 구현한 alert, confirm 레이어 팝업 샘플 소스 (1) | 2016.11.30 |
---|---|
[jQuery] 마우스 클릭하면 마우스 근처에 나타나는 레이어 툴팁(Tooltip) (3) | 2016.02.24 |
[jQWidget] 멋진 챠트와 그래프, 트리, 그리드 등을 서비스하는 라이브러리 (0) | 2016.01.20 |
[jQuery] 제이쿼리 - each()의 반대 reverse() 사용하기 (1) | 2016.01.14 |
[jQuery] 제이쿼리로 전체선택/선택해제 구현하기 (하나라도 체크해제되면 전체선택 체크도 해제되게 구현) (1) | 2016.01.13 |
댓글