선택자는 익숙치 않은 단어지만 일상생활에서 나, 너, 우리, 그들 처럼 평상시에 쓰고 있는 단어들의 함축어라고 보면 된다.
우선 jquery를 사용하기전에는 문서의 준비상태를 명시적으로 선언해주어야 한다.
<script>
$(document).ready(function(){
함수 기술영역.
});
$(function(){
함수 기술영역
});
</script>
위 두 코드는 같은 의미이다. 우선 기본 문법을 보자면
1. $(달러)는 jquery의 언어로 해석됨을 의미한다.
2. 그 뒤 달러 뒤에 오는 소괄호 안에는 선택자가 오게된다.
3. 현재 온 선택자는 document(문서) 현재 열려진 문서를 선택한 것이다.
4. 선택자 뒤에 오는 것은 함수(행동규약) 이다.
5. 현재는 .ready()라는 함수로 행동을 정하는것이 아닌 document(문서)가 ready(준비)가 되었다면
그안에 정의된 함수를 실행하라는 내용이다.
6. 마찬가지로
$(function(){
이렇게 표현하는것은 위에서 쓰여진 document.ready의 축소판이라 보면 된다. 편한대로 쓰도록..
});
그럼 간단한 div, span, table태그 등으로 선택자를 연습해보겠다. 현재 이 태그들을 모른다면
이 페이지를 보면 된다.
그럼 이제 jquery로 각 객체에 외형을 바꿀 수 있는 css()라는 함수로 각 선택자에 border(테두리)를 변경해보겠다.
(제이쿼리를 사용하지 않은 경우)
코드:
<div> 태그연습</div><div> jquery 연습</div>이미지:

제이쿼리를 사용하였을때
저 위 태그에서 상단 부분에 코드추가
코드:
<script>
$(function(){
$('div').css('border','1px solid red');
});
</script>
이미지:

해석: document(문서) 안에서 div라는 태그를 찾아 css라는 함수에서 테두리 border에 1px(굵기), solid(실선), red(색상)을 변경.
그럼 여기서 1px을 10px로 변경하고 red를 blue로 바꾼다면?
코드:
$(function(){
$('div').css('border','10px solid blue');
});
이미지:

그럼이제 table코드에서 특정 id를 가진 객체만 테두리를 줘보기.
코드:
<script>$(function(){ $('#me').css('border','10px solid blue');});</script><table> <tr> <td id='me'>1</td> <td>2</td> <td>3</td> <td>4</td> <td>5</td> <td>6</td> </tr></table>
이미지:

#이 들어가면 id선택을 의미한다.
기존 $('div')는 모든 div를 지목하는 반면 $('#div')는 id='div'라는 속성이 들어간 태그만 선택한다.
id는 index를 의미한다. 모든 객체에 id는 중복될 수 없다. 그리하여 여러 객체에 적용하기 위해
사용되는 것이 class라는 것이다. class='border'라는 속성으로 비교해보자
코드:
<script>$(function(){ $('.me').css('border','10px solid blue');});</script><table> <tr> <td class='me'>1</td> <td>2</td> <td class='me'>3</td> <td>4</td> <td class='me'>5</td> <td>6</td> </tr></table>
이미지:

클래스의 선택자는 .으로 한다. $('#me') id='me'라는 한개의 객체라면 $('.me')는 class='me'을 가지고있는 모든 객체를 선택한다. class명은 중복되어도 상관이 없으며 오히려 중복해서 여러 객체를 하나의 명칭으로 사용하기 위해 클래스를 사용한다.
여기서 정리하면 선택자가 3개가 나왔다.$('태그명') :: 모든태그$('#아이디') :: id='아이디'를 가지고 있는 태그 ex) <div id='아이디'></div>$('.클래스') :: class='클래스'를 가지고 있는 모든 태그 ex) <div class='클래스></div> <span class='클래스'</span>
전에 설명한 학생으로 한국말로 의역하자면....
$('태그명') :: 같은 반에 속한 너희 모두!
$('#아이디') :: 너!
$('.클래스') :: 같은 반에 속한 김씨성을 가진 너희들!
범위로 보자면
$('태그명') > $('.클래스') > $('#아이디') 순으로 객체를 선택하는 범위가 넓다.
여기 까지 읽었다면 선택자는 이해했으리라 보고 이외에 존재하는 수많은 선택자들은
그냥 한번 눈으로 훑고 나중에 필요할때 검색을 해서 사용하면 된다.

이 이미지는 http://openyou.egloos.com/2851939 라는 주소에서 무단으로 주인의 허락없이 가져왔지만
출처를 밝히니까 용서해줄거 같다.