javascript, jQuery & Node.js
자바스크립트 onclick 버튼 배경 바꾸기, querySelector, querySelectorAll, while, for, 배열
yy_dd2
2022. 4. 24. 07:20
반응형
친구 공부를 같이 해주다가 자바스크립트 복습겸 qyertSelector에 대해 살펴봤다
querySelector는 전체 html 중에서 원하는 태그를 선택할 수 있다 그러나 단 1개의 태그만 선택하기 때문에
querySelectorAll을 사용해서 전체의 태그를 배열로 불러올 수 있다
메모하는 블로그이기 때문에 자세한 설명은 코드로 대체한다
맨아래 코드는 다크모드로 화면을 변경하는 방법이 될 수 있다
요즘 앱에서 사용하는 그 '다크모드'
배열만들기
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<h1>Array</h1>
<h2>Syntax</h2>
<script>
// 배열 만들기
var coworkers = ["a","b"];
</script>
<h2>get</h2>
<script>
// [0] 인덱스의 값 0번은~
document.write(coworkers[0]);
document.write(coworkers[1]);
</script>
<h2>add</h2>
<script>
coworkers.push('c');
coworkers.push('d');
coworkers.push('e','f');
</script>
<h2>count</h2>
<script>
document.write(coworkers.length);
</script>
</body>
</html>
반목문 사용하기
while문은 for문으로 변경도 가능하다
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<h1>Loop while</h1>
<ul>
<script>
document.write('<li>1</li>');
var i = 0;
while (i < 2) {
document.write('<li>2</li>');
document.write('<li>3</li>');
i = i + 1;
}
document.write('<li>4 </li>');
</script>
</ul>
<h1>Loop for</h1>
<ul>
<script>
document.write('<li>1</li>');
for(var i = 0; i < 2; i++) {
document.write('<li>2</li>');
document.write('<li>3</li>');
}
document.write('<li>4 </li>');
</script>
</ul>
<h1>Loop while 지정 숫자에 멈추기</h1>
<ul>
<script>
var i = 0;
while (i < 10) {
document.write('<li>'+ (i + 1) +'</li>');
i = i + 1;
if(i==5){i = 10};
}
</script>
</ul>
</body>
</html>
반복문과 배열을 같이 사용하기
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<h1>Loop & Array</h1>
<script>
var a_int = [0, 1, 2, 3, 4, 5];
var b_int = ['a','b','c','d','e','f'];
</script>
<h2>a_int</h2>
<ul>
<script>
for (var i = 0; i < a_int.length ; i++) {
document.write('<li>'+ a_int[i] +'</li>');
}
</script>
</ul>
<h2>b_int</h2>
<ul>
<script>
var i = 0;
while ( i < b_int.length) {
document.write('<li>'+ b_int[i] +'</li>');
i++;
}
</script>
</ul>
</body>
</html>
실제 사용할때 이런방법으로 사용할 수 있다
html안에 a 태그가 4개가 있고 그 태그를 모두 선택해서 반복문까지 돌리는 내용이다
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
a { color : #000; text-decoration: none; }
</style>
</head>
<body>
<h1><a href="index.html">WEB</a></h1>
<input type="button" value="다크" onclick="
var a_target = document.querySelector('body');
if(this.value === '다크'){
a_target.style.backgroundColor = '#000';
a_target.style.color = 'white';
this.value = '화이트';
var a_selector = document.querySelectorAll('a');
console.log(a_selector);
var i = 0;
while(i < a_selector.length){
console.log(a_selector[i]);
a_selector[i].style.color = '#fff';
i = i + 1;
}
} else {
a_target.style.backgroundColor = '#fff';
a_target.style.color = 'black';
this.value = '다크';
var a_selector = document.querySelectorAll('a');
console.log(a_selector);
var i = 0;
while(i < a_selector.length){
console.log(a_selector[i]);
a_selector[i].style.color = '#000';
i = i + 1;
}
}
" >
<ol>
<li><a href="1.html">1</a></li>
<li><a href="2.html">2</a></li>
<li><a href="3.html">3</a></li>
</ol>
<h2>JavaScript</h2>
</body>
</html>
반응형