← 목록

DOM 조작을 활용한 실시간 검색 기능 구현하기 🔍

작성: 2025년 03월 12일읽기: 약 3분

웹 개발의 세계에서, 사용자 경험을 향상시키는 것은 매우 중요합니다. 오늘은 DOM(Document Object Model) 조작을 활용하여 사용자가 입력하는 즉시 결과를 보여주는 실시간 검색 기능을 구현하는 방법을 배워보겠습니다. 이 기능은 웹사이트에서 정보를 빠르게 찾고자 하는 사용자에게 매우 유용합니다.

시작하기 전에

실시간 검색 기능을 구현하기 위해 기본적인 HTML, CSS, 그리고 JavaScript 지식이 필요합니다. DOM 조작은 JavaScript를 사용하여 웹 페이지의 구조, 스타일 또는 내용을 동적으로 변경하는 방법입니다.

HTML 구조

먼저, 검색 입력 필드와 결과를 보여줄 공간을 마련해야 합니다. 아래는 간단한 HTML 구조입니다.

<div>
    <input type="text" id="searchBox" placeholder="검색...">
    <ul id="resultList"></ul>
</div>

JavaScript로 실시간 검색 구현

이제 JavaScript를 사용하여 실시간 검색 기능을 구현해봅시다. input 요소에 입력이 있을 때마다 이벤트 리스너를 추가하여 검색 결과를 동적으로 업데이트합니다.

document.getElementById('searchBox').addEventListener('input', function(e) {
    var searchQuery = e.target.value.toLowerCase();
    var resultList = document.getElementById('resultList');

    // 검색 결과를 초기화
    resultList.innerHTML = '';

    // 검색어가 있을 경우에만 검색 실행
    if (searchQuery.length > 0) {
        // 여기에 검색 로직을 추가하세요. 예를 들어:
        var results = ['HTML', 'CSS', 'JavaScript']; // 가상의 검색 결과
        results.forEach(function(item) {
            if(item.toLowerCase().includes(searchQuery)) {
                var li = document.createElement('li');
                li.textContent = item;
                resultList.appendChild(li);
            }
        });
    }
});

위 코드는 사용자가 검색 상자에 입력할 때마다 input 이벤트를 감지하고, 해당 입력값을 기반으로 검색 결과를 필터링하여 화면에 표시합니다. 여기서는 간단히 results 배열을 검색 결과로 사용했지만, 실제 애플리케이션에서는 서버에서 데이터를 가져와 필터링할 수 있습니다.

마무리

실시간 검색 기능은 사용자가 원하는 정보를 빠르게 찾을 수 있도록 도와줍니다. 오늘 배운 DOM 조작 기술을 활용하여 사용자 경험을 개선하는 다양한 기능을 구현해보세요. 기술적인 용어를 최소화하고, 실제 코드 예시를 통해 설명함으로써, 주니어 개발자들도 쉽게 이해하고 적용할 수 있습니다. Happy coding!