jquery를 이용해 <body>영역에 있는 태그를 선택하는 선택자에 대해 알아보겠다.

선택자는 직접 선택자와 인접 관계 선택자로 나눌 수 있다.

도둑잡기를 하는 것처럼 선택자를 도둑으로 보고, "선택한다"를 "잡는다"라고 표현하겠다

 

먼저, 직접 선택자는 아이디선택자, 클래스선택자, 요소선택자 등이 있다.  

<script>
	$("#id명");
   	$(".class명");
</script>

id를 잡을 때는 #을 사용하고

class를 잡을 때는 .을 사용한다.

직접 선택자는 주로 태그속성을 직접 잡을 때 사용한다.

 

 

그 다음, 인접 관계 선택자는 부모선택자, 자식선택자, 형제선택자 등이 있다.

<script>
	$("요소").parent( );
    	$("요소").closest( ); 
   	$("요소").prev( ); 
</script>

parents( )메서드는 모든 부모태그를 잡는다. 
closest( )메서드는 해당 요소의 부모던 할아버지던 가장 가까운 요소를 잡는다.

prev( )메서드는 형제 태그 중에 하나를 잡는 메서드다. 

 

하나의 요소를 잡을 때 사용하는 메서드는 parent( ), prev( ) , next( )다.  
다중 요소를 잡을 때 사용하는 메서드는 closest("요소"), children("요소"), parents("요소")이다.

 


 

Q. 라디오 버튼처럼 input속성이 많을 경우 선택자를 어떻게 잡을까?
A. 태그로(div) 감싸서 임의의 타겟을 잡는 것이 편하다. 

   그래서 자식태그에서 라디오버튼이 있으면 잡도록 each문을 돌려서 작성한다.

<div class="radio">
	<input type="radio" id="rdo1" name="rdo-group">
	<label for="rdo1">받음</label>
</div>
<div class="radio">
	<input type="radio" id="rdo2" name="rdo-group" checked>
	<label for="rdo2">받지않음</label>
</div>
   
   
   ****태그로(div) 감싸서 임의의 타겟을 잡는 것이 편하다.***
   
   
   
<div class="radioHead">
    <div class="radio">
        <input type="radio" id="rdo1" name="rdo-group">
        <label for="rdo1">받음</label>
    </div>
    <div class="radio">
        <input type="radio" id="rdo2" name="rdo-group" checked>
        <label for="rdo2">받지않음</label>
    </div>
</div>

 


 

 

Q. 태그의 속성을 잡고 싶으면 어떻게 할까?

A. 타입을 잡으려면 그냥 쓰고, 속성을 잡으려면 대괄호[ ]로 태그를 잡는다. 

   체크된거를 잡으려면 checked라고 적어준다.

$("input[id=txt]");
$("input[type='radio'] : checked");

 

 

출처 :  한큐의 자바 수강내용

+ Recent posts