본문 바로가기
Javascript/jQuery

jQuery 선택자로 DOM 요소 다루기

by 노마드 산코디 2023. 8. 21.
728x90

jQuery 선택자로 DOM 요소 다루기

 

 

안녕하세요.

 

오늘은 웹 개발의 필수 도구로 꼽히는 jQuery의 중요한 주제 중 하나인 선택자에 대해 포스팅하려고 합니다. 자바스크립트의 대표적인 라이브러리인 jQuery는 HTML 문서 내의 DOM 요소를 조작하고 다루는 데에 큰 도움을 주는 도구입니다. 웹 개발자들에게 익숙한 선택자를 통해 원하는 요소들을 쉽게 찾아내고 다양한 작업을 손쉽게 수행할 수 있습니다.

 

 

 

 

DOM 구조 및 탐색

제이쿼리는 HTML 문서의 DOM 구조를 손쉽게 조작하고 탐색할 수 있는 다양한 메서드를 제공합다. DOM(Document Object Model)은 웹 페이지의 요소들을 트리 구조로 표현한 것으로, 이를 효과적으로 다루는 것은 웹 개발에서 핵심적인 부분입니다.

 

1. 선택자를 이용한 요소 선택
제이쿼리는 CSS 선택자와 유사한 형식으로 요소를 선택할 수 있는 기능을 제공합니다. $() 함수를 사용하여 선택자를 전달하면 해당 선택자에 일치하는 모든 요소들을 반환합니다.

// 모든 <p> 요소 선택
const paragraphs = $("p");

 

2. 탐색 메서드 활용

제이쿼리는 부모-자식, 형제 관계 등의 다양한 탐색 메서드를 제공하여 요소들 간의 관계를 쉽게 파악하고 조작할 수 있습니다.

// 자식 요소 선택
const children = $("ul").children();

// 부모 요소 선택
const parent = $("li").parent();

// 형제 요소 선택
const siblings = $("li").siblings();

 

3. 필터링과 검색

제이쿼리는 선택된 요소들을 더 세부적으로 필터링하거나 특정 조건에 따라 검색하는 메서드도 지원합니다.

// 클래스가 'highlight'인 요소 선택
const highlighted = $("p").filter(".highlight");

// 특정 조건에 맞는 첫 번째 요소 선택
const first = $("li").first();

제이쿼리의 다양한 메서드를 통해 DOM 요소들을 쉽게 조작하고 탐색할 수 있으며, 이를 통해 웹 페이지를 동적으로 변경하거나 사용자와의 상호작용을 향상할 수 있습니다.

 

 

 

 

 

 


기본 선택자 사용법

1. 아이디(ID) 선택자

아이디를 사용하여 요소를 선택합니다. 선택자 앞에 $ 기호를 사용합니다.

const selectedElement = $('#myId');

 

2. 클래스(Class) 선택자

클래스를 사용하여 요소를 선택합니다. 선택자 앞에 $ 기호를 사용합니다.

const selectedElements = $('.myClass');

 

3. 요소(Element) 선택자

HTML 요소 이름을 사용하여 요소를 선택합니다. 선택자 앞에 $ 기호를 사용합니다.

const selectedElements = $('p'); // 모든 <p> 요소 선택

 

4. 모든 요소 선택자

모든 HTML 요소를 선택합니다. 선택자 앞에 $ 기호를 사용합니다.

const allElements = $('*');

 

5. 복합 선택자

여러 선택자를 조합하여 요소를 선택할 수 있습니다. 예를 들어, 클래스와 태그 이름을 조합하여 선택할 수 있습니다.

const selectedElements = $('.myClass p'); // 클래스가 'myClass'인 모든 <p> 요소 선택

 

6. 기타 선택자

first, last, even, odd 등과 같은 추가 선택자를 사용하여 요소를 선택할 수 있습니다.

const firstElement = $('p:first'); // 첫 번째 <p> 요소 선택

 

 

제이쿼리의 기본 선택자를 사용하면 DOM 요소를 간단하게 선택할 수 있습니다. 선택한 요소를 다루기 위해 다양한 제이쿼리 메서드와 함께 활용할 수 있습니다.

 

 

 

 

 


계층적 선택자

제이쿼리에서는 계층적 선택자를 사용하여 DOM 트리 내에서 요소를 선택할 수 있습니다.

 

 

1. 자식(Child) 선택자

parent > child 형태로 사용하여 부모 요소 아래의 특정 자식 요소를 선택합니다.

const selectedChild = $('ul > li'); // <ul> 아래의 모든 <li> 요소 선택

 

2. 후손(Descendant) 선택자

ancestor descendant 형태로 사용하여 특정 조상 요소 아래의 모든 후손 요소를 선택합니다.

const selectedDescendants = $('ul li'); // <ul> 아래의 모든 <li> 요소 선택

 

3. 형제(Sibling) 선택자
prev + next 형태로 사용하여 특정 요소의 바로 옆에 있는 형제 요소를 선택합니다.

const selectedSibling = $('h2 + p'); // <h2> 다음에 있는 모든 <p> 요소 선택

 

4. 일반 형제(General Sibling) 선택자

prev ~ siblings 형태로 사용하여 특정 요소의 모든 일반 형제 요소를 선택합니다.

const selectedSiblings = $('h2 ~ p'); // <h2> 다음에 있는 모든 <p> 요소 선택

 

 

계층적 선택자를 활용하면 원하는 위치의 DOM 요소를 정확하게 선택할 수 있습니다. 이를 활용하여 다양한 상황에서 필요한 요소를 선택하고 조작할 수 있습니다.

 

 

 

 

 


속성 선택자

제이쿼리의 속성 선택자를 사용하면 특정 속성을 가진 요소들을 선택할 수 있습니다.


 

1. [attribute] 선택자

특정 속성을 가진 요소를 선택합니다.

const selectedElements = $('[href]'); // href 속성을 가진 모든 요소 선택

 

2. [attribute=value]

특정 속성 값과 일치하는 요소를 선택합니다.

const selectedLinks = $('[href="#"]'); // href 속성 값이 "#"인 모든 링크 요소 선택

 

3. [attriute!=value]

특정 속성 값과 일치하지 않는 요소를 선택합니다.

const selectedInputs = $('input[type!="text"]'); // type 속성 값이 "text"가 아닌 모든 input 요소 선택

 

4. [attribute^=value]

특정 속성 값으로 시작하는 요소를 선택합니다.

const selectedImages = $('[src^="images/"]'); // src 속성 값이 "images/"로 시작하는 모든 이미지 요소 선택

 

5. [attribute$=value]

특정 속성 값으로 끝나는 요소를 선택합니다.

const selectedFiles = $('[href$=".pdf"]'); // href 속성 값이 ".pdf"로 끝나는 모든 링크 요소 선택

 

6. [attribute=value]**

특정 속성 값을 포함하는 요소를 선택합니다.

const selectedEmails = $('[href*="mailto:"]'); // href 속성 값에 "mailto:"를 포함하는 모든 링크 요소 선택

 

 

제이쿼리의 속성 선택자를 사용하여 특정 조건에 맞는 요소들을 선택할 수 있습니다. 이를 활용하여 원하는 요소를 쉽게 찾고 조작할 수 있습니다.

 

 

 


이벤트 처리

웹 페이지에서 사용자와 상호작용하기 위해 이벤트 처리는 매우 중요한 부분입니다. 제이쿼리는 이벤트 처리를 간편하게 다룰 수 있는 다양한 메서드를 제공하여 사용자의 클릭, 입력 등의 동작을 감지하고 처리할 수 있습니다.

 

1. 이벤트 연결

제이쿼리를 사용하여 이벤트를 연결할 때에는 on() 메서드를 활용합니다. 이 메서드는 선택된 요소에 특정 이벤트를 연결하고 해당 이벤트가 발생했을 때 실행할 함수를 지정할 수 있습니다.

// 버튼 클릭 시 메시지 출력
$("button").on("click", function() {
  alert("버튼이 클릭되었습니다!");
});

 

 

2. 이벤트 위임

이벤트 위임은 상위 요소에 이벤트를 연결하고 하위 요소에서 발생한 이벤트를 처리하는 방식입니다. 이는 동적으로 생성되는 요소에도 이벤트를 처리할 수 있어 유용합니다.

// 버튼 클릭 시 메시지 출력
$("button").on("click", function() {
  alert("버튼이 클릭되었습니다!");
});

 

 

3. 기본 동작 제어

제이쿼리는 이벤트의 기본 동작을 제어하는 메서드도 제공합니다. 예를 들어, 링크 클릭 시 페이지 이동을 막을 수 있습니다.

// 링크 클릭 시 페이지 이동 막기
$("a").on("click", function(event) {
  event.preventDefault();
});

 

 

4. 다양한 이벤트 유형

제이쿼리는 클릭, 마우스 이벤트뿐만 아니라 키보드 입력, 포커스, 변경 등 다양한 이벤트 유형을 다룰 수 있는 메서드를 제공합니다.

// 입력 필드에서 엔터 키 입력 시 이벤트 처리
$("input").on("keydown", function(event) {
  if (event.key === "Enter") {
    alert("엔터 키가 입력되었습니다!");
  }
});

 

 

제이쿼리의 이벤트 처리 메서드를 통해 웹 페이지의 다양한 동작에 대응하고 사용자와의 상호작용을 효과적으로 구현할 수 있습니다.

 

 

 


최종 정리

 

오늘은 제이쿼리의 선택자에 대한 기본적인 내용들을 정리해 보았습니다. 제이쿼리를 사용하면 DOM 요소들을 간편하게 선택하고 다룰 수 있어 웹 개발을 더욱 효율적으로 진행할 수 있습니다. 

 

 

다음 포스팅에서는 제이쿼리의 체이닝에 관한 주제로 내용을 정리해 보도록 하겠습니다.

 

감사합니다.

728x90
반응형