= document.getElementById("아이디명")
<div class="area" id="area1"></div>
<button onclick ="accessId();">아이디로 접근</button>
<script>
function accessId(){
// 아이디로 요소에 접근할 때
// document.getElementById("아이디명")
var area1 = document.getElementById("area1"); // div요소 객체
// 선택한 요소에 속성에 접근해서 값 가져오거나 변경하는거 가능
// 선택한 요소 객체, 속성명
console.dir(area1);
area1.innerHTML += "아이디로 접근 성공!<br>"
// 선택한 요소에 style 변경
area1.style.backgroundColor = "yellow";
area1.style.color = "red";
area1.style.width = "100px";
area1.style.height = "200px";
}
</script>
<div class="area" id="area2"></div>
<button onclick = "accessId2();">클릭마다 색변경</button>
<script>
function accessId2(){
var area2 = document.getElementById("area2");
if(area2.style.backgroundColor == "red"){
area2.style.backgroundColor = "yellow";
} else{
area2.style.backgroundColor = "red";
}
}
</script>
: document.getElementsByTagName("태그명");
<!-- ul>li{목록$}*5 -->
<ul>
<li>목록1</li>
<li>목록2</li>
<li>목록3</li>
<li>목록4</li>
<li>목록5</li>
</ul>
<button onclick="accessTagName();">태그명으로 접근</button>
<script>
function accessTagName(){
// 태그명으로 요소에 접근할 때
// document.getElementsByTagName("태그명");
// 선택된 요소 객체를 "배열"에 담아서 반환
var list = document.getElementsByTagName("li");
console.log(list);
console.log(("배열의 크기(선택된 li갯수) : ") + list.length);
console.log(list[0]);
// list.innerHTML = "zzzz"; 제시 안됨
// 왜? 요소(element).속성 인데 저거는 배열.속성이 되버리기때문에 list[0] 으로 바꿔줘야 함.
var changeColor = 50;
for(var i=0; i<list.length; i++){
list[i].innerHTML = "안녕하세요" + i;
list[i].style.backgroundColor = "rgb(150, 220," + changeColor + ")";
changeColor += 50;
}
}
</script>
: document.getElementsByName("name속성값") => 배열로 반환!!!
<form action="">
<fieldset>
<legend>취미</legend>
<input type ="checkbox" name="hobby" value="game" id="game">
<label for="game">게임</label>
<input type ="checkbox" name="hobby" value="music" id="music">
<label for="music">음악</label>
<input type ="checkbox" name="hobby" value="movie" id="movie">
<label for="movie">영화</label>
<input type ="checkbox" name="hobby" value="sports" id="sports">
<label for="sports">운동</label>
</fieldset>
</form>
<div class="area" id="area3"></div>
<button onclick ="accessName();">name으로 접근</button>
<script>
function accessName(){
// name 속성값으로 요소 가져올 때
// document.getElementsByName("name속성값") => 배열로 반환
var hobby = document.getElementsByName("hobby");
//console.log(hobby);
var checkedItem = "";
for(var i=0; i<hobby.length; i++){
console.log(hobby[i].checked);
console.log(hobby[i].value);
if(hobby[i].checked){
checkedItem += hobby[i].value + "선택함<br>";
}
}
document.getElementById("area3").innerHTML = checkedItem;
// id가 area3 인 div요소 안에 checkedItem의 값을 innerHTML(html 내용 삽입하겠다)하겠다.
}
</script>
: document.getElementsByClassName("class속성값")
<div class="test"></div>
<p class="test"></p>
<ul class="test">
<li></li>
<li></li>
</ul>
<pre class="test" id="test1"></pre>
<button onclick="accessClass();">클래스로 접근</button>
<script>
function accessClass(){
// class로 요소 가져올 때
// document.getElementsByClassName("class속성값")
var arr = document.getElementsByClassName("test");
for(var i =0; i<arr.length; i++){
console.log(arr[i]);
}
}
</script>
<script>
var 변수명; // 전역변수(global)
변수명; // 전역변수(global)
function 함수명( ){
var 변수명; // 지역변수(local)
변수명; // 전역변수(global)
}
</script>
: 해당 영역 내에 지역변수명과 전역변수명이 동일한 변수 호출 시 지역변수
전역변수에 접근하고자 할때는 window. 또는 this.
:변수 선언시 자료형을 별도로 지정하지 않음(자료형의 개념이 없는 건 아님!)
=> 변수에 대입되는 값(리터럴)에 따라서 알아서 자료형이 자동으로 결정됨
var name = '홍길동'; //문자열
var age = 20; //숫자
var check = true; //논리값
var hobby = ["영화", '음악', '낮잠']; // 객체
var user = {
name:"홍길동",
age:20,
id:"user01"
}; // 객체
var fn = function(){
alert("zzz");
}; // 함수
var noVal; // 초기화 안된 변수