Js 태그 관련 정리(part1)

KHW·2021년 1월 21일
0

Javascript 지식쌓기

목록 보기
15/95
post-custom-banner

공부내용

  1. createElement()
  2. append()
  3. classList
  4. setAttribute
  5. removeAttribute
  6. event.target
  7. event.target.closest()
  8. parentNode
  9. childNodes
  10. style (CSS)

1. createElement()

원하는 element를 만들어주는 역할

let ul = document.createElement('ul')
console.log(ul); //<ul></ul>

2. append()

필요한 부분을 붙이는 역할

ex)
A.append(B) //A와 B는 태그 or document.body

  1. ul에 li태그 붙이기
    let ul = document.createElement('ul');
    let li = document.createElement('li');
    ul.append(li);
    console.log(ul);		//<ul><li></li></ul>
  1. ul에 li태그 붙인 것을 html에 보이게 만들기
    let ul = document.createElement('ul');
    let li = document.createElement('li');
    ul.append(li);
	document.body.append(ul);

3.classList

Dom에 class 속성을 부여하거나 삭제등을 담당

  1. classList.add()
    let ul = document.createElement('ul');
    let li = document.createElement('li');
    ul.append(li);

    ul.classList.add('ul-add');
    console.log(ul);		//<ul class="ul-add"><li></li></ul>
  1. classList.remove()
    let ul = document.createElement('ul');
    let li = document.createElement('li');
    ul.append(li);

    ul.classList.add('ul-add');
    console.log(ul);		//<ul class=""><li></li></ul>
    ul.classList.remove('ul-add');
    console.log(ul);		//<ul class=""><li></li></ul>

위의 내용은 둘다 class가 없게 나오는데 이는 콘솔에 출력하는 시간보다 console.log 출력보다 아래 코드인 remove가 먼저 진행되기 때문에 둘다 결과가 같다.

let ul = document.createElement('ul');
    let li = document.createElement('li');
    ul.append(li);

    ul.classList.add('ul-add');
    console.log(ul);         //<ul class="ul-add"><li></li></ul>

    setTimeout(function(){
     ul.classList.remove('ul-add');
     console.log(ul);        //<ul class=""><li></li></ul>
    },1000)     

이와 같이 add를 확인하려면 setTimeout을 적용해보아도 된다.


4. setAttribute()

속성값을 필요대로 추가하는 것 (다양하게 적용되는 듯)
사용법 : Dom.setAttribute('속성', '속성값')

    let ul = document.createElement('ul');
    let li = document.createElement('li');
    ul.append(li);

    ul.setAttribute('class','ul-add');
    li.setAttribute('value',100);

    console.log(ul);	//<ul class="ul-add"><li value="100"></li></ul>

5. removeAttribute()

속성값을 필요대로 삭제하는 것
사용법 : Dom.removeAttribute('속성')

    let ul = document.createElement('ul');
    let li = document.createElement('li');
    ul.append(li);

    ul.setAttribute('class','ul-add');  
    li.setAttribute('value',100);

    ul.removeAttribute('class');
    console.log(ul);		//<ul><li value="100"></li></ul>

class속성이 사라진 것을 볼 수 있다.

profile
나의 하루를 가능한 기억하고 즐기고 후회하지말자
post-custom-banner

1개의 댓글

comment-user-thumbnail
2021년 2월 24일

블랙커피 스터디를 하면서 dom 을 조작하는 방법에 대해 열심히 공부를 한것 같군요!

추가적으로 append 를 더 자세히 서술하자면 다음과 같습니다

ParentNode.append() 메서드는 ParentNode의 마지막 자식 뒤에 Node 객체 또는 DOMString 객체를 삽입한다. DOMString 객체는 Text 노드처럼 삽입한다.

https://developer.mozilla.org/ko/docs/Web/API/ParentNode/append

답글 달기