
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<h1 id="hello">안녕하세요</h1>
<script>
document.getElementById('hello').innerHTML='안녕';
document.getElementById('hello').style.fontSize='16px';
</script>
</body>
</html>
해당 글자를 바꾸려면 getElementById를 사용하여 글자, 혹은 스타일을 변형할 수 있다.
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" href="main.css">
</head>
<body>
<div class="alert-box" id="alert">알림창임<button onclick="document.getElementById('alert').style.display='none'">닫기</button></div>
<button onclick="document.getElementById('alert').style.display='block'">버튼</button>
</body>
</html>
.alert-box{
background-color:skyblue;
padding: 20px;
color: white;
border-radius:5px;
display: none;
}
이런식으로 작성하면 알림창을 열었다가 닫았다가 할 수 있다.
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" href="main.css">
</head>
<body>
<div class="alert-box" id="alert">
알림창임
<button onclick="closepop()">닫기</button>
</div>
<button onclick="pop()">버튼</button>
<script>
function pop(){
document.getElementById('alert').style.display='block';//창 열기
}
function closepop(){
document.getElementById('alert').style.display='none';//창 닫기
}
</script>
</body>
</html>
이런식으로 pop함수를 만들어 어떤 버튼을 누르냐에 따라 메세지를 달리 표현할 수 있다
id의 경우에는 중복허용 안하는데, classname은 중복될 수 있다. 그래서 getElementsByClassName()[0] 이런식으로 작성해야한다
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<link rel="stylesheet" href="./main.css" />
<title>Hello, world!</title>
</head>
<body>
<nav class="navbar navbar-light bg-light">
<div class="container-fluid">
<span class="navbar-brand">Navbar</span>
<button class="navbar-toggler" type="button">
<span class="navbar-toggler-icon"></span>
</button>
</div>
</nav>
<ul class="list-group">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
<li class="list-group-item">A fourth item</li>
<li class="list-group-item">And a fifth one</li>
</ul>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
<script>
// document.querySelector('.list-group')
document.getElementsByClassName('navbar-toggler')[0]
.addEventListener('click',function(){
document.getElementsByClassName('list-group')[0].classList.toggle('show');
})
</script>
</body>
</html>
.list-group{
display: none
}
.show{
display: block
}
부트스트랩을 사용하여 Navbar를 만들어 버튼을 누를때마다 메뉴가 나오도록 할 수 있다.
원하는 버전의 스타터 템플릿으로 시작할 수 있다.
예시 (v 5.1)
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<title>Hello, world!</title>
</head>
<body>
<h1>Hello, world!</h1>
<!-- Optional JavaScript; choose one of the two! -->
<!-- Option 1: Bootstrap Bundle with Popper -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
<!-- Option 2: Separate Popper and Bootstrap JS -->
<!--
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.10.2/dist/umd/popper.min.js" integrity="sha384-7+zCNj/IqJ95wo16oMtfsKbZ9ccEh31eOz1HGyDuCQ6wgnyJNSYdrPa03rtR1zdB" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.min.js" integrity="sha384-QJHtvGhmr9XOIpI6YVutG+2QOK9T+ZnN4kzFN1RtK3zEFEIsxhlmWl5/YESvpZ13" crossorigin="anonymous"></script>
-->
</body>
</html>
document.querySelector('.list-group')
toggle을 사용하여 class가 있으면 제거하고, 없으면 추가할 수 있다.
document.querySelector('.list-group')
제일 위에 요소만 찾아준다.
document.querySelector('#group')
.을 붙이면 class명을 찾아주고, #를 붙여주면 id명을 찾아준다
document.querySelectorAll("li");
querySelectorAll이라고 하면 모든 요소를 찾아준다. []를 사용해 인덱싱해주어야 한다.
🔎 jQuery는 문법
🔎 모든 자바스크립트 라이브러리는 body태그가 끝나기 전에 넣는 것이 권장된다.