웹페이지가 로드될 때, 브라우저는 Document Object Model를 생성한다.
웹페이지 자체를 DOM 함수 및 개체로 다룰 수 있음.
document.getElementById("demo").innerHTML = ~~;
Id가 demo인 tag를 찾아서 innerHTML속성을 초기화시킨다.
단순히 문자열뿐만 아니라 html tag를 입력할 수 있다.
Id를 기준으로 찾기
테그 name 인 모든 요소 찾기
class가 name인 모든 요소 찾기
<!DOCTYPE html>
<html>
<body>
<button onclick = "addfunc()"> add function </button>
<button id="demo"> hi </button>
<script>
function addfunc(){
document.getElementById("demo").onclick = function(){window.alert(1)};
}
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<button onclick="addfunc()">add Function</button>
<button id="demo">hi</button>
<script>
function addfunc(){
document.getElementById("demo").addEventListener("click", function(){newFunc("seokwon")});
}
function newFunc(name){
document.write(document.body.innerHTML + "<br>My name is " + name);
}
</script>
</body>
</html>
js에서 onclick 속성을 변경할 때는 함수를 실행시키는 것X, 함수 원본을 넣어야함
원본을 넣지 않으면 함수가 바로 실행
원본을 넣을 수 없을 경우
function(){ ~~ } // ~~에 실행시키고자 하는 코드 작성
과 같은 형식으로 작성한다.
마우스를 위로 가져가 놓았을 때
마우스를 위에서 치웠을 때
마우스를 누른 상태
마우스를 뗀 상테
클릭했을 때