Computer >> 컴퓨터 >  >> 프로그래밍 >> HTML

HTML DOM option 객체 완벽 정리: 생성 방법부터 주요 속성까지

HTML DOM의 option 객체는 HTML 문서 내 <option> 요소를 나타냅니다. <option> 요소는 주로 <select> 태그 안에서 드롭다운 목록의 개별 항목을 정의할 때 사용되며, JavaScript로 동적으로 생성하거나 제어할 수 있습니다.

option 객체 생성 방법

JavaScript에서 option 객체를 생성하는 기본 문법은 다음과 같습니다.

document.createElement("OPTION");

createElement() 메서드를 호출하면 새로운 <option> 요소가 메모리에 생성되며, 이후 필요한 속성을 설정한 뒤 원하는 위치에 추가하면 됩니다.

option 객체의 주요 속성

option 객체에서 사용할 수 있는 주요 속성은 다음과 같습니다.

속성설명
disabled해당 옵션이 비활성화 상태인지 여부를 반환하며, 값을 수정하여 활성화/비활성화를 설정할 수 있습니다.
defaultSelectedHTML 문서에서 해당 옵션의 기본 선택(default) 여부를 반환합니다.
form해당 옵션을 포함하고 있는 폼(form) 요소에 대한 참조를 반환합니다.
index옵션이 드롭다운 목록 내에서 차지하는 인덱스 위치를 반환하고 수정할 수 있습니다.
label옵션의 label 속성 값을 반환하고 변경할 수 있습니다.
selected현재 옵션이 선택된 상태인지 여부를 반환하고 변경할 수 있습니다.
text옵션에 표시되는 텍스트 내용을 반환하고 수정할 수 있습니다.
value서버로 전송될 옵션의 값을 반환하고 수정할 수 있습니다.

실전 예제

버튼을 클릭하면 새로운 option 객체를 생성하여 드롭다운 목록에 추가하는 예제입니다.

<!DOCTYPE html>
<html>
<head>
<style>
    body{
       text-align:center;
       background-color:#fff;
       color:#0197F6;
    }
    h1{
       color:#23CE6B;
    }
    .btn{
       background-color:#fff;
       border:1.5px dashed #0197F6;
       height:2rem;
       border-radius:2px;
       width:60%;
       margin:2rem auto;
       display:block;
       color:#0197F6;
       outline:none;
       cursor:pointer;
    }
</style>
</head>
<body>
<h1>DOM option 객체 데모</h1>
<select class="drop-down"></select>
<button onclick="createDropDownList()" class="btn">드롭다운 옵션 만들기</button>
<script>
    function createDropDownList() {
       var option = document.createElement("option");
       option.setAttribute("value","Hello");
       option.innerText='Hello';
       document.querySelector(".drop-down").appendChild(option);
    }
</script>
</body>
</html>

실행 결과

위 코드를 실행하면 다음과 같은 초기 화면이 출력됩니다.

HTML DOM option 객체 완벽 정리: 생성 방법부터 주요 속성까지

“드롭다운 옵션 만들기” 버튼을 클릭하면 createDropDownList() 함수가 실행되어 새로운 option 객체가 생성되고, appendChild()를 통해 드롭다운 목록에 항목이 추가됩니다.

HTML DOM option 객체 완벽 정리: 생성 방법부터 주요 속성까지

이처럼 option 객체를 활용하면 사용자 입력에 따라 드롭다운 목록을 실시간으로 구성하는 등 동적인 UI를 손쉽게 구현할 수 있습니다.