< DOM >
DOM은 Document Object Model의 약자로, HTML 요소를 Object처럼 조작할 수 있는 Model입니다. JavaScript를 사용할 수 있으면, DOM으로 HTML을 조작할 수 있습니다.
//DOM 구조를 조회할 때에는 console.dir 이 유용하다.
//console.dir 은 console.log 와 달리 DOM을 객체의 모습으로 출력
(CREATE)
document.createElement('div') : 새로운 div 생성
const tweetDiv = document.createElement('div')
(APPEND)
document.body.append(tweetDiv). : body태그에 연결
(READ)
const oneTweet = document.querySelector('.tweet') :
querySelector에 '.tweet' 을 첫 번째 인자로 넣으면, 클래스 이름이 tweet 인 HTML 엘리먼트 중 첫 번째 엘리먼트를 조회
const tweets = document.querySelectorAll('.tweet’) :
querySelectorAll로 클래스 이름이 tweet 인 모든 HTML 요소를 유사 배열로 받아온다
const getOneTweet = document.getElementById('container')
const queryOneTweet = document.querySelector('#container')
console.log(getOneTweet === queryOneTweet) // true // get은 옛날방식
(UPDATE)
const oneDiv = document.createElement('div');
console.log(oneDiv) //
oneDiv.textContent = 'dev';
console.log(oneDiv) //
oneDiv.classList.add('tweet')
console.log(oneDiv) //
const container = document.querySelector('#container')
container.append(oneDiv). // append를 이용해 container의 자식요소에 추가
(DELETE)
const container = document.querySelector('#container')
const tweetDiv = document.createElement('div')
container.append(tweetDiv)
tweetDiv.remove() // 이렇게 append 했던 요소를 삭제할 수 있다.
document.querySelector('#container').innerHTML = '';
// id가 container인 요소 아래의 모든 요소를 지웁니다.
const container = document.querySelector('#container');
while (container.firstChild) {
container.removeChild(container.firstChild);
}. //container의 첫 번째 자식 요소가 존재하면, 첫 번째 자식 요소를 제거합니다.
const container = document.querySelector('#container');
while (container.children.length > 1) {
container.removeChild(container.lastChild);
}. // container의 자식 요소가 1개만 남을 때까지, 마지막 자식 요소를 제거합니다.
const tweets = document.querySelectorAll('.tweet')
tweets.forEach(function(tweet){
tweet.remove();
})
// or
for (let tweet of tweets){
tweet.remove()
}. // 클래스 이름이 tweet인 요소만 찾아서 제거합니다.
————————————————————-----------------------------------------
< input type="text" id="username"> 의 값을 가져오려면, 다음과 같이 접근합니다.
console.log(document.querySelector('#username').value);
값을 설정할 수도 있습니다.
document.querySelector('#username').value = '새로운 값';
*document.querySelector 는 , 생성하기 위한 메서드가 아니라 조회하는 메서드
//document.cloneNode 는, 생성하는 메서드가 아니라 복제하는 메서드
//document.importNode 는, template 을 활용하여 내용을 붙여 넣을 때 사용하는 메서드
Node.appendChild() 메소드는 한 노드를 특정 부모 노드의 자식 노드 리스트 중 마지막 자식으로 붙입니다
insertBefore() : 요소 삽입할 곳 앞에 추가
insertAfter () : 요소 삽입할 곳 뒤에 추가
prependTo() : 요소를 삽입할 곳의 자식요소 앞부분추가
console.dir(document.body)
document.body.children
document.body.children[1]
document.body.parentElement
< git >
Git log : 내 커밋로그를 확인하는 법 (푸쉬후)
Git remote -v : 연결된 리모트레포의 목록과 주소확인
Git branch : 현 브렌치확인
Git pull <원격리모트저장소이름> < branch > : 상대방의 리모트에서 내 로컬로 옮기기
git push < remoterepository > <branch(local)> 는 로컬 리포지토리에 기록한 내역을 원격 리포지토리로 옮기는 작업
( Git push < origin > < branch > )
git remote add < name > < URL >
(git remote add 는 로컬 리포지토리에 원격 리포지토리 주소를 등록하는 명령어
< name >: 앞으로 로컬 리포지토리에서 원격 리포지토리 주소를 대신할 이름
상대방의 remote에서 내 local로 옮길때도 가능 (origin))
< URL >: 원격 리포지토리 주소
(git remote -v 명령어로 원격 리포지토리가 잘 연결되었는지 확인)
git clone name URL : 원격리포가져오기
git branch : 생성된 브런치 확인
git branch < ? > : 새로운 브런치 생성
git checkout < ? > : 새로운 브런치로 바꾸기