개발자 미니민의 개발스터디

[javascript] 노드 찾기 (자식/부모/형제) / innerText, innerHTML

by mini_min
[javascript] 노드 찾기 (자식/부모/형제) / innerText, innerHTML

✔️ 자식 노드 검색

<div>
<p><a>HTML</a></p>
<p class="css"><a>CSS</a></p>
<p>
<a>javascript</a>
<span>jquery</span>
</p>
</div>
// 자식 노드 검색
var ps = document.getElementsByTagName("p");
var c1 = ps[2].childNodes; // text(문자열, 공백, 엔터)등도 검색
var c2 = ps[2].children; // 태그만 검색
var c3 = ps[2].getElementsByTagName("a");
var c4 = ps[2].getElementsByTagName("a")[0];
console.log(c1); // [text, a, text, span text]
console.log(c2); // [a, span]
console.log(c3); // [a]
console.log(c4); // <a>javascript</a>

 

👩‍💻 childNodes 는 text(문자열, 공백, 엔터) 등도 검색한다.

ps[2].childNodes; 는 3번째 p 태그의 자식들 노드 정보를 반환한다.

<p>
<a>javascript</a>
<span>jquery</span>
💡 공백, 엔터도 검색한다.

 

👩‍💻 children 는 태그만 검색한다.

console.log(c2); // [a, span]

 

👩‍💻 var c4 = ps[2].getElementsByTagName("a")[0]; 

태그 이름에 순번을 붙이면 모두 출력된다.

 

 

✔️ 부모 노드 검색

<div class="ss">
<div class="s">
<div class="c1">javascript</div>
<div class="c2">css</div>
</div>
</div>
var dc = document.querySelector(".c1");
// 부모 검색
var p1 = dc.parentNode; // 부모노드. 빈공간을 포함
var p2 = dc.parentElement; // 부모노드(태그 만)
var p3 = dc.parentElement.parentElement; // 부모의 부모
console.log(p1); //div.s
console.log(p2); //div.s
console.log(p3); //div.ss

 

👩‍💻 parentNode : 부모 노드를 반환하는데 빈공간을 포함한다. (div.s)

parentElement 는 태그 정보만 반환한다. (div.s)

parentElement.parentElement; 는 부모의 부모! (div.ss)

 

 

✔️ 형제 노드 검색

var s1 = dc.nextSibling; // 텍스트 빈공간도 포함
var s2 = dc.nextElementSibling; // 태그만
console.log(s1); // javascript의 형제... #text (공백이 있어서 그럼)
console.log(s2); // css

 

 

✔️ 텍스트 검색

var t = s2.firstChild.nodeValue; //firstChild.nodeValue; 이거 자주씀!!!
console.log(t);

 

 

✔️ innerText, innerHTML

const pc = document.querySelector(".pc");
var c1 = pc.firstChild.nodeValue;
var c2 = pc.innerText;
var c3 = pc.innerHTML; //안에 들어있는 모든 html을 긁어오는 것이다.
console.log(c1); //null
console.log(c2); //자바 (눈에 보이는거)
console.log(c3); //<span style="color:red;">자바</span>
var s = "<span style='color:red;'>자바스크립트</span>";
const pc2 = document.querySelector(".pc2");
const pc3 = document.querySelector(".pc3");
pc2.innerText = s; //그대로 텍스트로 인식해서 때려박음
pc3.innerHTML = s; //html 로 인식해서 적용해버려

 

 

블로그의 프로필 사진

블로그의 정보

개발자 미니민의 개발로그

mini_min

활동하기