DOM Manipulation
DOM Manipulation은 DOM 구조를 변경할 수 있는 jQuery 메서드들이다. 동적으로 문서 구조를 변경할 수 있고, 특정 노드의 내.외부 삽입과 삭제도 가능하다.
메서드 | 기 능 |
append() | 선택된 내부의 맨 뒤에 자식 노드를 새로 추가한다. |
appendTo(target) | 새로운 노드를 target에 해당하는 노드 내부의 마지막에 추가한다. |
prepend() | 선택된 노드 내부의 맨 앞에 자식 노드를 새로 추가한다. |
prependTo(target) | 새로운 노드를 target에 해당하는 노드 내부의 첫 번째로 추가한다. |
html() | 노드 내부의 HTML을 읽고 쓸 수 있다. |
text() | 노드의 텍스트를 읽고 쓸 수 있다. |
append() 실행후
.prepend(content, [content]) Returns: jQuery
html()/html(htmlString) html() 함수는 javaScipt에서 innerHTML과 같은 기능을 하는 것으로, 선택 집합의 내부 요소들을 HTML 문자열로 반환한다. html() 함수에 인자로 HTML 문자열이 전달되면 그 요소에 HTML을 추가하는 것이다. .html() returns: String HTML 문서에서 어떤 요소의 내부 html을 알아내고자 할 때 html() 함수를 사용할 수 있다.
var htmlString = $("div#intro").html(); // div#intro 요소내부의 html 내용을 htmlString 변수에 저장 // htmlString= <p>intro 입니다.</p>
<div id="intro"> <p>intro 입니다.</p> </div>
return 되는 값이 문자열이라는 것에 주의하자.
실제 htmlString에 대입되는 값은 <p>intro 입니다.</p> 이다.
.html(htmlString) returns:jQuery 선택 집합의 요소에 들어가는 html을 변경하는 것이다.
var htmlString = $("div#intro").html();
$("div#main").html(htmlString); // htmlString변수값을 #main 요소내부에 새로운 html 문자열을 추가한다. 기존에 있는 html은 제거됩니다. <div id="intro"> <p>intro 입니다.</p> </div> <div id="main"> <p>여기는 main 입니다.</p> //<p>intro 입니다.</p> <p> <img src='pic1.jpg' /> </p> </div>
실행결과)
<p>여기는 main 입니다.</p>
<p><img src='pic1.jpg' /></p>
내용은 삭제 되고 <p>intro 입니다.</p> 가 추가된다.
메서드 | 기 능 |
after() | 선택된 노드 뒤에 새로운 노드를 추가한다.(형제 관계) |
before() | 선택된 노드 앞에 새로운 노드를 추가한다.(형제 관계) |
insertAfter() | 작성된 jQuery 객체를 target 뒤에 삽입한다.(형제 관계) |
insertBefore() | 작성된 jQuery 객체를 target 앞에 삽입한다.(형제 관계) |
$("p").after("<b>Hello</b>");
// after: p태그 내용안에 들어가는 자식태그가 아니라 대등한 태그로...
<p>
I would like to say:
</p>
메서드 | 기 능 |
wrap() | 선택된 집합을 각각의 매개 변수로 넘긴 HTML 구조로 감싼다. |
wrapAll() | 선택된 집합의 전체 외곽을 매개 변수로 넘긴 HTML 구조로 감싼다. |
wrapInner() | 선택된 집합의 내부에 매개 변수로 넘긴 HTML 구조를 감싼다. |
$("span").wrap("<div><div><p><em><b></b></em></p></div></div>");
<span>Span Text</span>
<strong>What about me?</strong>
<span>Another One</span>
메서드 | 기 능 |
detach() | DOM에서 조건에 일치되는 노드들을 제거한다.(단, 메모리에 남아 있기 때문에 다시 사용할 수 있다.) |
empty() | DOM에서 조건과 일치하는 노드들의 자식 노드들을 제거한다. |
remove() | DOM에서 조건과 일치하는 노드들을 제거한다. |
unwrap() | wrap()의 반대로, 선택된 집합을 감싸고 있는 HTML을 제거한다. |
메서드 | 기 능 |
replaceAll() | 조건에 맞는 노드들을 타깃 노드들로 대체한다. |
replaceWith() | 조건에 맞는 노들들을 매개 변수로 넘긴 새로운 HTML로 대체한다. |
부모로 감싸기 (.unwrap(), .wrap(), .wrapAll(), .wrapInner())
삭제 (.detach(), .empty(), .remove(), .unwrap())
치환 (.replaceAll(), .replaceWith())
'WebFont-end > jQuery' 카테고리의 다른 글
[jQuery] Event (0) | 2014.12.07 |
---|---|
[jQuery] Attribute/CSS (0) | 2014.12.07 |
[jQuery] Traversing (0) | 2014.12.07 |
[jQuery] Wrapper (0) | 2014.12.07 |
[jQuery] Selector (0) | 2014.11.29 |