const myTag = document.getElementById('myNumber')
//myNumber 라는 Id 선택
const myTag = document.getElementsByClassName('color-btn')
//color-btn 태그 모두 선택
배열 내부를 수정하거나 삭제 불가 (push, pop, shift...)
const btns = document.getElementsByTagName('button');
//button class 선택
const allTags = document.getElementsByTagName('*');
// 모든 태크 선택
const myTags = document.document.querySelector('#myNumber');
//myNumber(id) CSS 선택자로 선택
const btn = document.document.querySelectorAll('.color-btn');
// color-btn(class) CSS 선택자로 선택
const btn = document.querySelector('#myBtn');
btn.onclick = function() {
console.log('Hello Codeit!');
};
<button id="myBtn" onclick="console.log('Hello Codeit!')">클릭!</button>
Dom tree에 자세히 알기
standard.children[2].previousElementSibling.children[0];
//연속으로 사용 가능
const myTag = document.querySelector('#list-1');
// innerHTML
console.log(myTag.innerHTML);
myTag.innerHTML = '<li>Exotic</li>';
console.log(myTag.innerHTML);
💡 내부에 있던 값을 완전히 새로운 값으로 교체하기 때문에 주의해서 사용해야 한다.
2. element.outer HTMl
-> 바깥 태그를 포함 모두 보여줌
const myTag = document.querySelector('#list-1');
// outerHTML
console.log(myTag.outerHTML);
myTag.outerHTML = '<ul id="new-list"><li>Exotic</li></ul>';
💡 새로운 값을 할당할 경우 요소 자체가 교체되어 버리기 때문에 주의해야 한다.
3. element.textContent
-> 내부의 태그는 제외하고 텍스트 부분만 보여줌
const myTag = document.querySelector('#list-1');
// textContext
console.log(myTag.textContent);
myTag.textContent = '<li>new text!</li>';
💡 textContent는 말그대로 텍스트만 다루기 때문에, 특수문자도 그냥 텍스트로 처리한다.
main.style.boxSizing = 'borderBox';
🎉 classList의 유용한 메소드
item.className = 'done';
item.classList.add('done');
const fields = document.querySelectorAll('[field]');
console.log(fields);
const fields = document.querySelectorAll('[field]');
const task = {
title: '코드 에디터 개발',
manager: 'CastleRing, Raccoon Lee',
status: '',
};
for (let tag of fields) {
const field = tag.getAttribute('field');
tag.textContent = task[field];
}
const fields = document.querySelectorAll('[field]');
const task = {
title: '코드 에디터 개발',
manager: 'CastleRing, Raccoon Lee',
status: '',
};
for (let tag of fields) {
const field = tag.getAttribute('field');
tag.textContent = task[field];
}
const btns = document.querySelectorAll('.btn');
for (let btn of btns) {
const status = btn.getAttribute('status');
btn.onclick = function () {
fields[2].textContent = status;
fields[2].setAttribute('status', status);
};
}
data-status라는 속성이 있다면, element.dataset.status라는 프로퍼티에 접근해서 그 값을 가져올 수 있다.
const fields = document.querySelectorAll('[data-field]');
const task = {
title: '코드 에디터 개발',
manager: 'CastleRing, Raccoon Lee',
status: '',
};
for (let tag of fields) {
const field = tag.dataset.field;
tag.textContent = task[field];
}
const btns = document.querySelectorAll('.btn');
for (let btn of btns) {
const status = btn.dataset.status;
btn.onclick = function () {
fields[2].textContent = status;
fields[2].dataset.status = status;
};
}