[HTML] <input> 태그 속성 id, class, name 비교

독기산·2023년 3월 23일
0

id, class, name 속성 비교


  • id : 고유한 식별을 목적으로 하는 경우 사용
  • class : css 쿼리문 밑 재사용을 목적으로 하는 경우 사용
  • name : form 컨트롤 요소의 값(value)을 서버로 전송하기 위해 필요한 속성

# id 속성 🪪


1. 고유 영역 식별자

  • document.getElementID() 를 통해 고유 영역을 참조할 수 있다.
<section id="front-end-news">
  <h1>프론트엔드 개발 뉴스</h1>
  ...
</section>

<section id="front-end-heroes">
  <h1>프론트엔드 개발 히어로즈</h1>
  ...
</section>

2. Label과 input 컨트롤을 연결하기 위한 식별자

<div class="form-control">
  <label for="email">이메일</label>
  <input type="email" id="email"> <!--'이메일' 레이블 텍스트와 연결된 이메일 인풋 컨트롤-->
</div>

3. 표와 표 설명을 연결하기 위한 식별자

<p hidden id="table-desc">표 설명(요약)</p>
<!--표 요소의 aria-describedby 속성과 연결된 표 설명-->
<table aria-describedby="table-desc">
  <caption>표 제목</caption>
  ...
</table>

# class 속성 🧺


1. 여러 영역에서 중복 정의를 허용하여 재사용이 가능한 식별자

  • 요소의 유형과 상관 없이 class="button" 설정 되면 일관된 디자인이 반영된다.
<button type="button" class="button">읽기</button>

<input type="button" class="button" value="읽기">

<a href class="button">읽기</a>

2. 한 영역에서 여러 개의 정의를 허용하여 재사용이 가능한 식별자

<!-- 고정 너비를 가진 컨테이너 스타일을 반영하기 위한 식별자 -->
<div class="container">
  ...
</div>

<!-- 컨테이너 요소의 너비를 유연(fluid)하게 변경하는 식별자 추가 -->
<div class="container is-fluid">
  ...
</div>

# name 속성 📦


1. form 전송 이벤트 발생 시 서버로 데이터 이름으로서 전송하기 위한 식별자

  • name 속성은 js에서 요소를 참조할 수 있게 한다.
<form>
  <div class="select">
    <label for="source-of-info">정보 출처</label>
    <select 
      name="source-of-info" id="source-of-info"> <!--<select> 요소에 설정된 값을 식별하기 위한 이름-->
      <option>정보 출처를 선택해주세요.</option>
      <option>페이스북</option>
      <option>트위터</option>
      <option selected>인스타그램</option>
    </select>
  </div>
</form>
// name은 요소를 하여금 자바스크립트에서 접근할수 있게 하는 고유 식별자 이다.

var form = document.querySelector('form');
var formData = new FormData(form);


formData.get('source-of-info'); // name="source-of-info" 정보 값을 출력 => 인스타그램

// 이벤트 핸들러일 경우 이런식으로 접근도 가능하다.
e.target.source-of-info

reference

[HTML] 📚 태그 속성 id / class / name 차이 및 사용처

profile
도끼든 산독기

0개의 댓글