Chapter 04. 노드 다루기 - 노드 생성/추가/삭제/이동. Lensson 01. 노드 생성 및 추가
WEB/JQUERY-CONCEPT 2017. 11. 9. 23:35 |CHAPTER 04. 노드 다루기 - 노드 생성/추가/삭제/이동.
Lensson 01. 노드 생성 및 추가
- 핵심 01: 노드 생성
- 핵심 02: 첫 번째 자식 노드로 추가
- 핵심 03: 마지막 번째 자식 노드로 추가
- 핵심 04: 특정 노드의 이전 위치에 추가
- 핵심 05: 특정 노드의 이후 위치에 추가
- 핵심 01: 노드 생성
사용법 : var $신규노드=$("신규DOM");
예제 01. 실행화면처럼 추가 버튼을 클릭할 때마다 신규 메뉴 아이템을 생성해 주세요.
1. jQuery를 이용한 풀이
1 2 3 4 5 6 7 8 9 10 11 12 13 | $(document).ready(function() { var count = 0; $("#btnAdd").click(function() { count++; // 신규 노드 생성 var $li = $("<li>new menu" + count + "</li>"); // 테스트를 위한 신규 노드 출력 console.log($li.get(0)); }) }); | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | $(document).ready(function() { var count = 0; $("#btnAdd").click(function() { count++; //신규 노드를 생성 var newLI = document.createElement("li"); 신규 노드의 텍스트 노드 생성 var liText = document.createTextNode("new menu" + count); // 텍스트 노드를 신규 노드에 추가 newLI.appendChild(liText); // 테스트를 위한 신규 노드 출력 console.log(newLI); }) }); | cs |
- 핵심 02: 첫 번째 자식 노드로 추가
사용법
$부모노드.prepend($추가노드)
$추가노드.prependTo($부모노드)
예제 02. 추가 버튼을 클릭하면 실행화면처럼 신규 메뉴 아이템을 생성한 후 ul.menu의 첫 번째 자식노드로 추가해 주세요.
풀이 01: 문자열, prepend()를 이용한 경우 (가장 간단한 방법) (이걸로쓰기)
1 2 3 4 5 6 7 8 9 10 | $(document).ready(function() { var count=0; $("#btnAdd").click(function() { count++; // 신규 노드 생성 $("ul.menu").prepend("<li>new menu"+count+"</li>"); }) }); | cs |
1 2 3 4 5 6 7 8 9 10 11 | $(document).ready(function() { var count=0; $("#btnAdd").click(function() { count++; // 신규 노드 생성 var $newItem =$("<li>new menu"+count+"</li>"); $("ul.menu").prepend($newItem); }) }); | cs |
1 2 3 4 5 6 7 8 9 10 11 | $(document).ready(function() { var count=0; $("#btnAdd").click(function() { count++; // 신규 노드 생성 var $newItem =$("<li>new menu"+count+"</li>"); $newItem.prependTo("ul.menu"); }) }); | cs |
- 핵심 03: 마지막 번째 자식 노드로 추가
풀이 01: 문자열, append()을 이용한 경우
1 2 3 4 5 6 7 8 9 10 11 | $(document).ready(function() { var count=0; $("#btnAdd").click(function() { count++; // 신규 노드 생성 $("ul.menu").append("<li>new menu"+count+"</li>"); }) }); | cs |
1 2 3 4 5 6 7 8 9 10 | $(document).ready(function() { var count=0; $("#btnAdd").click(function() { count++; // 신규 노드 생성 $("<li>new menu"+count+"</li>").appendTo("ul.menu"); }) }); | cs |
- 핵심 04: 특정 노드의 이전 위치에 추가
사용법
$추가노드.insertBefore($기준노드)
$기준노드.before($추가노드)
신규 노드를 특정 노드의 형제 노드로 추가하고 싶은 경우 insertBefore()와 before()를 사용합니다.
예제 04. 추가 버튼을 클릭하면 다음 실행화면처럼 신규 노드를 만들어 select 클래스가 적용된 메뉴 아이템의 이전 위치에 추가해 주세요.
풀이 01 - 문자열, insertBefore()를 이용한 경우
1 2 3 4 5 6 7 8 9 10 | $(document).ready(function() { var count=0; $("#btnAdd").click(function() { count++; // 신규 노드 생성 $("<li>new menu"+count+"</li>").insertBefore("ul.menu li.select"); }) }); | cs |
1 2 3 4 5 6 7 8 9 10 | $(document).ready(function() { var count=0; $("#btnAdd").click(function() { count++; // 신규 노드 생성 $("ul.menu li.select").before("<li>new menu"+count+"</li>"); }) }); | cs |
- 핵심 05: 특정 노드의 이후 위치에 추가
사용법
$추가노드.insertAfter($기준노드)
$기준노드.after($추가노드)
예제 05. 추가 버튼을 클릭하면 다음 실행화면처럼 신규 노드를 만들어 select 클래스가 적용된 메뉴의아이템의 다음 위치에 추가해 주세요.
풀이 01 - 문자열, insertAfter()를 이용한 경우
1 2 3 4 5 6 7 8 9 10 | $(document).ready(function() { var count=0; $("#btnAdd").click(function() { count++; // 신규 노드 생성 $("<li>new menu"+count+"</li>").insertAfter("ul.menu li.select"); }) }); | cs |
1 2 3 4 5 6 7 8 9 10 | $(document).ready(function() { var count=0; $("#btnAdd").click(function() { count++; // 신규 노드 생성 $("ul.menu li.select").after("<li>new menu"+count+"</li>") }) }); | cs |
'WEB > JQUERY-CONCEPT' 카테고리의 다른 글
Chapter 04. 노드 다루기 - 노드 생성/추가/삭제/이동. Lensson 03. 노드 삭제 (0) | 2017.11.10 |
---|---|
Chapter 04. 노드 다루기 - 노드 생성/추가/삭제/이동. Lensson 02. 노드 이동 (0) | 2017.11.10 |
Chapter 03. 노드 다루기 - 노드 찾기. Lesson 05. 형제 노드 찾기 (0) | 2017.11.09 |
Chapter 03. 노드 다루기 - 노드 찾기. Lesson 04. 부모 노드 찾기 (0) | 2017.11.09 |
Chapter 03. 노드 다루기 - 노드 찾기. Lesson 03. 자식 노드 찾기 (0) | 2017.11.09 |