Front-end/JavaScript

[자바스크립트] html, text 메소드의 차이, 노드 내용 변경하기

파리외 개발자 2022. 5. 26. 01:07

버튼태그와 6개의 li태그가 있다.

 

html( ) 과 text( )의 차이점

버튼을 클릭했을 시 menu아이디를 가진 ul태그에 각 메소드를 적용했을 시

리턴값을 콘솔에 나타내도록 한다.

html 메소드의 경우 ul태그안에 존재하는 내용을 태그까지 합하여 출력한다.

여기서 리턴값은 DOM형태가 아닌 문자열임을 유의한다.

 

text 메소드의 경우 ul태그안에 존재하는 내용 중 텍스트노드의 내용만을 출력한다.

 

html( )을 이용해 노드 내용 변경하기

li태그를 클릭할 시 클릭된 해당 li태그를 item에 지정한다.

지정된 li태그에 html을 적용해 특정 링크가 걸린 a태그로 변경하고

인덱스 값을 이용해 메뉴의 내용을 적어준다.

메뉴4를 클릭하자 링크가 걸린 태그로 변경된다.

하지만 this가 li태그를 가르키고 html메소드는 그 내용을 변경하므로

li태그 자체가 a태그로 변경되는 것은 아님을 알아야한다.

 

text( )를 이용해 노드 내용 변경하기

이번엔 html 대신 text메소드를 적용한다.

text메소드는 오로지 text태그안의 내용만을 바꿔줄 수 있다.

메뉴4를 클릭하자 text내용만이 바뀐다.