JS DOM API_basic

김규리·2021년 5월 30일
0

front-end

목록 보기
16/16

JS DOM API

Document Object Model, Application Programming Interface

즉, HTML의 object model, 예를 들어 div, span, input 요소들

API, 웹사이트가 동작하기 위해서 입력하는 프로그래밍 명령

HTML을 제어하는 명령들

querySelector, addEventListener

// HTML 요소(element) 1개 검색/찾기
let boxEl = document.querySelector('.box'); /*.box, box class 선택자*/

// HTML 요소에 적용할 수 있는 메소드!
boxEl.addEventListener();

// 인수(Arguments)를 추가 가능! 1은 event 2는 실행할 함수
boxEl.addEventListener(1, 2);
// 1 - 이벤트(Event, 상황)
// 2 - 핸들러(Handler, 실행할 함수)

boxEl.addEventListener('click', function() {
    console.log('Click~!');
});

console.log(boxEl);

javascript 선언 위치 ->defer 로 해결

<body>
   <div class="box">Box!!</div>
   <script src="./main.js"></script>
</body>
<head>
    <script defer src="./main.js"></script>
</head>

classList.add, classList.remoce

// HTML 요소(element) 검색/찾기
const boxEl = document.querySelector('.box');

// 요소의 클래스 정보 객체 활용!
boxEl.classList.add('active');
// 특정 요소가 classList에 contain되어 있는지 true, false 값 반환
let isContains = boxEl.classList.contains('active');
console.log(isContains); // true 

boxEl.classList.remove('active');
// 특정 요소가 classList에 contain되어 있는지 true, false 값 반환
isContains = boxEl.classList.contains('active');
console.log(isContains); // false 

querySelectorAll

// HTML 요소(element) 모두 검색/찾기
const boxEls = document.querySelectorAll('.box');
console.log(boxEls);

// 찾은 요소들 반복해서 함수 실행!
// 익명 함수를 인수로 추가!
boxEls.forEach(function () {});

// 첫 번째 매개변수(boxEl): 반복 중인 요소, 
// 두 번째 매개변수(index): 반복 중인 번호
boxEls.forEach(function (boxElm index) {});

// 출력
boxEls.forEach(function (boxEl, index){
    boxEl.classList.add(`order-${index + 1}`);
    console.log(index, boxEl);
});
// js를 통해서 해당 요소에 다가 class를 강제적으로 추가함.

textContent

const boxEl = document.querySelector('.box');

// Getter, 값을 얻는 용도, textContent를 통해서 text 내용이 반환
console.log(boxEl.textContent); // Box!!

// Setter, 값을 지정하는 용도
boxEl.textContent = 'KYOORI!!';
console.log(boxEl.textContent); // KYOORI!! 

0개의 댓글