우리는 저번 장에서 변수에 HTML의 태그를 불러오는 방법에 대해 배웠다. 이제 불러온 태그를 그 변수를 이용하여 다뤄보자.
* 속성 다루기
var link = document.querySelector('.list a');
console.log(link.getAttribute('href'));
link.setAttribute('href', 'google.com');
console.log(link.getAttribute('href'));
: 먼저 link라는 변수에 list라는 클래스의 a 태그를 삽입하였다.
이 때 변수.getAttribute('속성명') 으로 그 속성의 값을 불러올 수 있다.
: setAttribute('속성명', '변경 값') 을 이용하면 속성의 값을 다른 값으로 변경시킬 수 있다. 이렇게 한 후 속성값을 출력시켜보면 변경된 것이 확인된다.
* 클래스 다루기
var link = document.querySelector('.list a');
link.className = 'special'
link.classList.add('special');
link.classList.remove('link-naver');
console.log(link.classList.contains('special'));
- 클래스 명 변경 : 변수명.className = '~' 을 이용하여 원래 가지고 있던 클래스를 다른 이름으로 변경시킬 수 있다.
- 클래스 명 추가 : 변수명.classList.add('~~') 을 이용하면 원래 가지고 있던 클래스에 더불어 새로운 클래스명을 추가할 수 있다.
- 클래스 명 제거 : 변수명.classList.remove('~~') 을 이용하여 원래 있던 변수를 제거시킬 수 있다.
- 클래스 추가 or 제거 : 변수명.classList.toggle('~~')을 이용하면 해당 클래스가 있으면 제거하고 없으면 추가한다.
- 클래스 명 확인 : .contains 메서드를 이용하여 특정 클래스가 있는지 불린 값을 출력시킬 수도 있다.
참고로 추가와 제거 등에서 여러개는 쉼표로 구분한다.
* 태그 만들기
이번에는 스크립트를 이용하여 태그를 통째로 만들어 보자.
var listElem = document.createElement('li');
listElem.innerHTML = '<span>Harry</span>';
- 태그 생성
: 먼저 변수를 설정하고 document.createElement를 이용하여 생성하고 싶은 태그를 입력한다.
그 후 그 변수에 innerHTML 속성의 값으로 원하는 HTML구문을 입력하여 만들어 준다.
위와 같이 만들고 listElem을 출력시키면 <li><span>Harry</span></li> 가 출력된다.
- 태그 삽입
: 태그를 무사히 만들었다면 이제 원하는 곳에 삽입해야한다. 이를 위해 부모태그를 이용하자.
var listparent = document.querySelector('.list-parent')
var listElem = document.createElement('li');
listElem.innerHTML = '<span>Harry</span>';
listparent.appendChild(listElem);
먼저 부모태그도 변수에 넣어주었다. 참고로 클래스를 이용했으나 li를 넣을 부모이므로 ul또는 ol이다.
부모태그를 변수에 넣었으면 그 변수의 appendChild() 안에 아까 만들었던 listElem 변수를 넣어주면 완성이다.
이렇게하고 웹을 실행시키면 HTML문서에서 리스트에 Harry를 출력시키는 것을 볼 수 있다.
참고
이 글은 1분코딩의 자바스크립트 기본 강의와 인터랙티브 웹 강의를 수강하고 개인적으로 정리하며 작성한 글입니다.
유튜브 1분코딩
1분코딩
제주 동쪽 바닷가 마을에 살며 주로 웹 분야의 디자인이나 개발을 하고 있어요. studiomeal@kakao.com
www.youtube.com
인프런
인터랙티브 웹 개발 제대로 시작하기 - 인프런
크리에이티브 넘치는 인터랙티브 웹페이지를 개발할 수 있는 기본기를 다질 수 있는 수업입니다. 초급 웹 개발 UX/UI Front-End HTML/CSS JavaScript 웹 퍼블리싱 웹 개발 인터랙티브 웹 온라인 강의 인터
www.inflearn.com
'Language > JavaScript' 카테고리의 다른 글
<자바스크립트 기초> 13. 이벤트 (2) (0) | 2020.12.15 |
---|---|
<자바스크립트 기초> 12. 이벤트 (1) (2) | 2020.12.10 |
<자바스크립트 기초> 10. DOM 스크립트 (1) (0) | 2020.12.03 |
<자바스크립트 기초> 09. 변수의 유효범위 (0) | 2020.12.01 |
<자바스크립트 기초> 08. 객체 (0) | 2020.11.26 |