티스토리 뷰
자바스크립트와 jQuery 선택자 기본 사용법
jQuery는 자바스크립트 기반의 강력한 라이브러리로, HTML 문서의 요소를 간단하고 효율적으로 조작할 수 있도록 돕습니다. 특히 선택자(selector)는 jQuery의 핵심 기능으로, HTML 요소를 선택하고 이를 기반으로 다양한 작업을 수행할 수 있습니다. 이번 포스팅에서는 jQuery 선택자의 기본 사용법과 주요 활용 사례를 살펴보겠습니다.
👇👇👇 내용 자세히보기 👇👇👇
jQuery란 무엇인가?
jQuery는 자바스크립트를 더욱 간단하게 사용할 수 있도록 도와주는 라이브러리입니다. $()
기호를 사용하여 HTML 요소를 선택하고, 그 위에 다양한 동작(action)을 적용할 수 있습니다. 기본 문법은 아래와 같습니다:
$(selector).action();
selector
: HTML 요소를 선택하는 CSS 스타일의 선택자.action()
: 선택된 요소에 적용할 메서드(예: hide(), show(), css() 등).
jQuery 선택자의 종류
jQuery는 CSS 선택자를 기반으로 다양한 형태의 선택자를 제공합니다. 이를 통해 HTML 요소를 직관적으로 선택하고 조작할 수 있습니다.
기본 선택자
유형 | 표현식 | 설명 |
---|---|---|
전체 선택자 | $(" * ") |
모든 HTML 요소를 선택 |
태그 선택자 | $("tag") |
지정된 태그와 일치하는 모든 요소 |
ID 선택자 | $("#id") |
특정 ID를 가진 요소를 선택 |
클래스 선택자 | $(".class") |
특정 클래스를 가진 모든 요소를 선택 |
예제
<p id="intro">Hello, World!</p>
<p class="text">Welcome to jQuery!</p>
<script>
$("#intro").css("color", "blue"); // ID가 intro인 요소의 텍스트 색상을 파란색으로 변경
$(".text").hide(); // 클래스가 text인 모든 요소 숨기기
</script>
속성 기반 선택자
속성 값을 기준으로 요소를 선택할 수도 있습니다.
표현식 | 설명 |
---|---|
[attribute] |
특정 속성을 가진 모든 요소를 선택 |
[attribute=value] |
특정 속성이 지정된 값과 일치하는 요소 |
[attribute!=value] |
특정 속성이 지정된 값과 일치하지 않는 요소 |
[attribute^=value] |
특정 값으로 시작하는 속성을 가진 요소 |
[attribute$=value] |
특정 값으로 끝나는 속성을 가진 요소 |
[attribute*=value] |
특정 값을 포함하는 속성을 가진 요소 |
예제
<a href="https://example.com">Example</a>
<a href="https://google.com">Google</a>
<script>
$("a[href^='https']").css("color", "green"); // https로 시작하는 링크의 텍스트 색상을 초록색으로 변경
</script>
필터 선택자
필터 선택자를 사용하면 조건에 따라 더욱 세부적인 요소를 지정할 수 있습니다.
주요 필터
표현식 | 설명 |
---|---|
:first |
첫 번째 요소 |
:last |
마지막 요소 |
:even |
짝수 번째 요소 |
:odd |
홀수 번째 요소 |
:eq(index) |
지정된 인덱스의 요소 |
:gt(index) |
지정된 인덱스보다 큰 인덱스를 가진 요소 |
:lt(index) |
지정된 인덱스보다 작은 인덱스를 가진 요소 |
예제
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
<script>
$("li:first").css("font-weight", "bold"); // 첫 번째 리스트 항목을 굵게 표시
$("li:odd").css("background-color", "lightgray"); // 홀수 번째 항목에 배경색 적용
</script>
폼 관련 선택자
폼(form) 내의 특정 입력 필드를 쉽게 찾을 수 있는 방법도 제공합니다.
주요 폼 선택자
표현식 | 설명 |
---|---|
:input |
모든 입력 필드 |
:text |
<input type="text"> 필드 |
:password |
<input type="password"> 필드 |
:checked |
체크된 체크박스 또는 라디오 버튼 |
:selected |
선택된 <option> |
예제
<form>
<input type="text" value="Name">
<input type="checkbox" checked>
</form>
<script>
$(":text").val("Updated Name"); // 텍스트 입력 필드의 값을 변경
$(":checked").css("outline", "2px solid red"); // 체크된 입력 필드 강조 표시
</script>
jQuery로 자주 사용하는 메서드
jQuery는 단순히 HTML을 선택하는 것 외에도 다양한 메서드를 제공하여 동적인 웹 페이지를 쉽게 구현할 수 있습니다.
HTML 조작 메서드
.html()
: HTML 콘텐츠 가져오기 또는 설정하기..text()
: 텍스트 콘텐츠 가져오기 또는 설정하기..val()
: 폼 입력값 가져오기 또는 설정하기..attr()
: 속성 값 가져오기 또는 설정하기.
예제
$("#myDiv").html("<b>New Content</b>"); // HTML 콘텐츠 변경
$("#myInput").val("New Value"); // 입력 필드 값 변경
CSS 및 스타일링
.css(property, value)
: CSS 스타일 설정..addClass(className)
: 클래스 추가..removeClass(className)
: 클래스 제거..toggleClass(className)
: 클래스 토글.
예제
$("#myDiv").css("background-color", "yellow"); // 배경색 변경
$("#myDiv").addClass("highlight"); // highlight 클래스 추가
이벤트 처리
.click()
,.hover()
,.on(event, handler)
등 다양한 이벤트 리스너 제공.
예제
$("button").click(function() {
alert("Button clicked!");
});
결론
jQuery는 간결한 문법과 강력한 기능을 통해 HTML 문서를 효율적으로 조작할 수 있는 도구입니다. 특히 다양한 선택자와 메서드를 활용하면 복잡한 작업도 손쉽게 처리할 수 있습니다. 이번 포스팅에서 소개한 내용을 바탕으로 jQuery의 기본기를 탄탄히 다지고, 실전 프로젝트에서 활용해 보세요.
자주 묻는 질문(FAQ)
Q1. jQuery와 JavaScript의 차이는 무엇인가요?
A1. jQuery는 JavaScript 라이브러리로, JavaScript 코드를 간결하게 작성하도록 돕습니다. JavaScript가 더 유연하지만 코드가 복잡해질 수 있는 반면, jQuery는 간단한 문법으로 빠르게 작업할 수 있습니다.
Q2. jQuery 없이도 동일한 작업이 가능한가요?
A2. 가능합니다. JavaScript의 DOM API(querySelector
, addEventListener
) 등을 사용하면 동일한 작업을 수행할 수 있지만, 코드가 길어질 수 있습니다.
Q3. jQuery는 여전히 유용한가요?
A3. React, Vue.js 같은 프레임워크가 대중화되었지만, 간단한 프로젝트나 기존 코드베이스에서는 여전히 유용합니다.