학습 내용
console.dir(document);
console.dir(documnet.body);
// 결과를 확인하여 HTML의 여러요소가 객체 형태로 이루어져 있음을 확인할 수 있음.
<body>
<p></p>
<script src="index.js"></script>
// 스크립트 태그는 바디 태그 내에 제일 끝문장이어야 한다.
</body>
1.3.1 CREATE
const tweetDiv = document.createElement('div');
// div 태그를 새로 만들고 변수 tweetDiv에 할당
심화 : https://developer.mozilla.org/en-US/docs/Web/API/Document/createDocumentFragment
1.3.2 APPEND
document.body.append(tweetDiv)
// body 태그에 변수 tweetDiv(div 태그)를 추가
1.3.3 READ
const oneTweet = document.querySelector('.tweet')
// class가 tweet인 첫 번째 태그를 조회
let items = document.querySelectorAll('.animal');
document.querySelector('#newfriends').prepend(...items);
1.3.4 UPDATE
console.log(oneDiv) // <div></div>
oneDiv.textContent = 'dev';
console.log(oneDiv) // <div>dev</div>
// value를 추가
oneDiv.classList.add('tweet')
console.log(oneDiv) // <div class="tweet">dev</div>
// class 속성을 추가
1.3.5 DELETE
const container = document.querySelector('#container')
const tweetDiv = document.createElement('div')
container.append(tweetDiv)
tweetDiv.remove() // 추가 했던 태그를 삭제
tweetDiv.classList.add('tweet')
tweetDiv.classList.remove('tweet') // 추가 했던 클래스를 삭제
const container = document.querySelector('#container');
while (container.children.length > 0) {
container.removeChild(container.lastChild);
} // container 의 자식 태그를 모두 제거
const tweets = document.querySelectorAll('.tweet')
tweets.forEach(function(tweet){
tweet.remove();
})
// or
for (let tweet of tweets){
tweet.remove()
} // tweet인 클래스 태그만 찾아서 모두 제거
느낀 점 & 미비한 점
오늘의 핵심은 queryselector라고 생각한다.
dom으로 HTML을 조작하는 것은 왠지 코드양만 늘어나서 비효율적이라고 생각한다.
물론 실무에서 케이스 바이 케이스로 적용 및 활용을 할 상황이 없으리란 법이 없으니 나머지 또한 꼭 익숙해지도록 하자.