제이쿼리(jQuery) 기초 문법 - 선택자 (1) 기본 선택자 종류
제이쿼리(jQuery) 기초 문법
선택자
선택자는 HTML요소를 선택하여 가져온다. 제이쿼리 선택자는 CSS선택자와 마찬가지로 선택한 요소의 디자인 속성을 적용할 때 사용할 수 있다. 이때 HTML에 작성한 스타일을 사용자의 동작에 의해 스타일을 변경할 수 없기 때문에 HTML에서 작성한 스타일(CSS)는 정적이다라고 표현한다. 하지만 제이쿼리 선택자를 사용하면 동적으로 스타일을 적용할 수 있다.
문서 객체 모델
문서 객체 모델(DOM, Doucument Object Model)이란 HTML 문서 객체 구조를 말한다. 문서 객체 모델(DOM)은 HTML 문서구조를 말한다. HTML문서의 기본 구조는 최상위 객체로 <html>이 있으며, 그 하위 객체로는 <head>와 <body>가 있다.
문서 객체 모델에서는 HTML의 모든 요소들을 문서 객체로 선택하여 자유롭게 속성을 바꿀 수 있고, 선택한 문서 객체에 원하는 스타일(CSS)을 적용할 수 있다. 문서 객체 모델에서는 모든 태그를 객체라고 부르며, 태그에는 기능과 속성이 포함되어 있다.
선택자 사용하기
선택자를 사용하기 위해서는 문서 객체를 불러와야 한다. 보통 <body>영역에 문서 객체를 먼저 불러온 다음 선택자를 사용할 수 있도록 작성해야 한다.
잘못된 예
<head>
<script src="js/jquery.js"></script>
<script>
$("#cont").css("color","red");
</script>
</head>
<body>
<p id="cont">내용</p>
</body>
제이쿼리가 먼저 실행되고 그 다음 <body>영역에 문서 객체를 불러온다. 이렇게 되면 <body>가 생성되기 이전에 선택자가 먼저 실행되어 선택자로 문서 객체를 선택할 수 없다.
정상적 예
<head>
<script src="js/jquery.js"></script>
<script>
$(document).ready(function(){
("#cont").css("color","red");
});
</script>
</head>
<body>
<p id="cont">내용</p>
</body>
<head>
<script src="js/jquery.js"></script>
<script>
$(function(){
("#cont").css("color","red");
});
</script>
</head>
<body>
<p id="cont">내용</p>
</body>
제이쿼리 선택자로 스타일이나 속성을 적용하는 방법은 아래와 같다.
<script>
//선택한 요소에 지정한 스타일을 적용
$("CSS 선택자").css("스타일 속성명","값");
//선택한 요소에 지정한 속성을 적용
$("CSS 선택자").attr("속성명","값");
</script>
선택자는 $()에 문자형 데이터로 CSS 선택자를 입력하면 된다.
기본 선택자
<body>영역에 있는 문서 객체를 선택할 수 있는 선택자를 알아보자. 제이쿼리의 기본 선택자는 다음과 같이 직접 선택자와 인접 관계 선택자로 나눌 수 있다.
기본 선택자 종류
구분 | 종류 | 사용법 | 설명 |
직접 선택자 | 전체 선택자 | $("*") | 모든 요소를 선택한다. |
아이디 선택자 | $("#아이디명") | id 속성에 지정한 값을 가진 요소를 선택한다. | |
클래스 선택자 | $(".클래스명") | class 속성에 지정한 값을 가진 요소를 선택한다. | |
요소 선택자 | $("요소명") | 지정한 요소명과 일치하는 요소들만 선택한다. | |
그룹 선택자 | $("선택 1, 선택 2, .. ") | 선택, 선택 2,.. 선택 n에 지정된 요소들을 한 번에 선택한다. | |
종속 선택자 | $("p.txt_1") $("p#txt_1") |
<p>요소 중 class 값이 txt_1인 요소 또는 id값이 txt_1인 요소를 선택한다. | |
인접 관계 선택자 | 부모 요소 선택자 | $("요소선택").parent( ) | 선택한 요소의 부모 요소를 선택한다. |
상위 요소 선택자 | $("요소선택").parents( ) | 선택한 요소의 상위 요소를 모두 선택한다. | |
가장 가까운 상위 요소 선택자 |
$("요소선택").closest("div") | 선택한 요소의 상위 요소 중 가장 가까운 <div>만 선택한다. |
|
하위 요소 선택자 | $("요소선택 하위 요소") | 선택한 요소에 지정한 하위 요소를 선택한다. | |
자식 요소 선택자 | $("요소선택 > 자식 요소") $("요소선택").children ("자식 요소 선택") |
선택한 요소를 기준으로 자신 관계에 지정한 요소만 선택한다. |
|
자식 요소들 선택자 | $("요소선택").children( ) | 선택한 요소의 모든 자식 요소를 선택한다. | |
형(이전) 요소 선택자 | $("요소선택").prev( ) | 선택한 요소의 바로 이전 요소를 선택한다. | |
형(이전) 요소들 선택자 |
$("요소선택").prevAll( ) | 선택한 요소의 이전 요소 모두를 선택한다. | |
지정 형(이전) 요소 선택자 |
$("요소선택").prevUntil ("요소명") |
선택한 요소부터 지정한 요소의 이전 요소까지 모두 선택한다. |
|
동생(다음) 요소 선택자 |
$("요소선택").next( ) $("요소선택+다음 요소") |
선택한 요소의 다음 요소를 선택한다. | |
동생(다음) 요소들 선택자 |
$("요소선택").nextAll( ) | 선택한 요소의 다음 요소 모두를 선택한다. | |
지정 동생(다음) 요소들 선택자 |
$("요소선택").nextUntil("h2") | 선택한 요소부터 지정한 요소의 다음 요소까지 모두 선택한다. |
|
전체 형제 요소 선택자 |
$(".box_1").siblings( ) | class 값이 box_1인 요소의 형제 요소 전체를 선택한다. |