Programing/javascript

자바스크립트 실무 유틸 함수 시리즈 16 - HTML 요소 조작을 위한 유틸

2025. 5. 1. 11:05
반응형

이번 16편에서는 DOM 기반 HTML 요소를 쉽고 안전하게 조작할 수 있도록 도와주는 유틸 함수들을 소개합니다. 버튼 제어, 클래스 토글, 요소 생성, 속성 관리 등 다양한 실무 상황에 대응 가능합니다.


✅ 1. addClass (클래스 추가)

📌 클래스 이름을 요소에 추가

function addClass(el, className) {
  if (el && !el.classList.contains(className)) {
    el.classList.add(className);
  }
}

📌 활용 예시

  • 상태 기반 스타일 변경
  • 모달 열기 처리

✅ 2. removeClass (클래스 제거)

📌 클래스 이름을 요소에서 제거

function removeClass(el, className) {
  if (el && el.classList.contains(className)) {
    el.classList.remove(className);
  }
}

📌 활용 예시

  • 닫기 버튼 시 스타일 원상복구
  • 입력 오류 해제 처리

✅ 3. toggleClass (클래스 토글)

📌 클래스 유무에 따라 추가/제거

function toggleClass(el, className) {
  if (el) {
    el.classList.toggle(className);
  }
}

📌 활용 예시

  • 사이드 메뉴 토글
  • 어두운 테마 전환

✅ 4. setAttributes (여러 속성 설정)

📌 요소에 여러 속성을 일괄 적용

function setAttributes(el, attrs) {
  for (const key in attrs) {
    el.setAttribute(key, attrs[key]);
  }
}

📌 활용 예시

  • 이미지 태그 동적 설정
  • 버튼 속성 변경

✅ 5. createElement (요소 생성과 설정)

📌 요소 생성 후 클래스, 속성, 내용 적용

function createElement(tag, options = {}) {
  const el = document.createElement(tag);
  if (options.className) el.className = options.className;
  if (options.attributes) setAttributes(el, options.attributes);
  if (options.text) el.textContent = options.text;
  return el;
}

📌 활용 예시

  • 메시지 또는 알림 DOM 생성
  • 동적 컴포넌트 UI 구성

✅ 결론

HTML 요소 조작은 사용자 인터페이스에 직접적인 영향을 미칩니다. 이번 시리즈에서 소개한 함수들을 활용하면 DOM을 더 깔끔하고 일관성 있게 다룰 수 있으며, 유지보수성과 재사용성도 높일 수 있습니다.

반응형

'Programing > javascript' 카테고리의 다른 글

자바스크립트 실무 유틸 함수 시리즈 20 - 배열 비교 및 동기화를 위한 유틸  (0) 2025.05.01
자바스크립트 실무 유틸 함수 시리즈 19 - 로컬 스토리지 / 세션 스토리지를 위한 유틸  (0) 2025.05.01
자바스크립트 실무 유틸 함수 시리즈 18 - 스크롤 관련 유틸  (1) 2025.05.01
자바스크립트 실무 유틸 함수 시리즈 17 - 이벤트 제어를 위한 유틸  (0) 2025.05.01
자바스크립트 실무 유틸 함수 시리즈 15 - 폼 입력 검증을 위한 유틸  (1) 2025.05.01
자바스크립트 실무 유틸 함수 시리즈 14 - 반응형 UI 구현을 위한 유틸  (0) 2025.05.01
자바스크립트 실무 유틸 함수 시리즈 13 - 프론트엔드 성능 측정을 위한 간단한 유틸  (0) 2025.05.01
자바스크립트 실무 유틸 함수 시리즈 12 - 배열 고차 함수(map, filter, reduce)  (0) 2025.05.01
'Programing/javascript' 카테고리의 다른 글
  • 자바스크립트 실무 유틸 함수 시리즈 18 - 스크롤 관련 유틸
  • 자바스크립트 실무 유틸 함수 시리즈 17 - 이벤트 제어를 위한 유틸
  • 자바스크립트 실무 유틸 함수 시리즈 15 - 폼 입력 검증을 위한 유틸
  • 자바스크립트 실무 유틸 함수 시리즈 14 - 반응형 UI 구현을 위한 유틸
Dongkkase
Dongkkase
개발자로 일하면서 부딪히는 문제풀이가 누군가에게 도움이 되길 바라며
    반응형
  • Dongkkase
    정집사의 개발로그
    Dongkkase
  • 전체
    오늘
    어제
    • All (478)
      • 금융 (61)
      • Programing (295)
        • Algorithm (39)
        • API (2)
        • javascript (122)
        • CSS (8)
        • HTML (10)
        • PHP (15)
        • JAVA (27)
        • JSP (17)
        • JSP 예제 (1)
        • IOS (1)
        • Android (1)
        • Sencha Touche (1)
        • bat file, cmd (0)
        • 디버깅 (2)
        • SQL (21)
        • MS-SQL (1)
        • MySQL (13)
        • 보안 (5)
      • Server (14)
        • Docker (1)
        • Windows (9)
        • Linux (3)
        • jeus (1)
      • Database (6)
      • IT 일반 (15)
      • 리뷰 (38)
        • Book (17)
        • 제품 (2)
        • 영화 소개 (11)
        • 음악 소개 (7)
      • 잡생각 (36)
        • 회고 (3)
        • 컬럼 (4)
        • 자료실 (6)
        • 낙서장 (12)
        • 위시리스트 (2)
        • WOW (1)
        • 덕 (1)
  • 인기 글

  • 최근 댓글

  • 태그

    SQL
    읽고 싶은 책
    IT블로그
    IT·컴퓨터
    jsp
    iT's MY LiFE
    디자인패턴
    블로그
    사고 싶은 책
    php
    js패턴
    JavaScript
    기초
    자바스크립트
    Java
    It
    위시리스트
    IT 관련
    자바
    자바스크립트유틸
Dongkkase
자바스크립트 실무 유틸 함수 시리즈 16 - HTML 요소 조작을 위한 유틸
상단으로

티스토리툴바