선택자는 HTML의 요소, 문서 객체들을 지목하는 키워드이다.


제목에 기입한 만큼 다양한 선택자가 있다.


그 중 자식과 후손은 의미를 알아야 한다.


자식은 바로 하위 요소를 말하고 후손은 하위 요소(들)을 말한다.


그리고 요소에 부여한 속성값을 이용해서 선택하는 방법은 다양한데 다음과 같다.




요소[속성] : 특정 속성을 가지고 있는 객체 선택


요소[속성=값] : 속성 안의 값이 특정 값과 같은 객체 선택


요소[속성~=값] : 속성 안의 값이 특정 값을 단어로써 포함하는 객체 선택


요소[속성^=값] : 속성 안의 값이 특정 값으로 시작하는 객체 선택


요소[속성$=값] : 속성 안의 값이 특정 값으로 끝나는 객체 선택


요소[속성*=값] : 속성 안의 값이 특정 값을 포함하는 객체 선택




예를 통해 확인해보자.



<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<title>Insert title here</title>
</head>
<body>
	<h1>기본선택자</h1>
	<h3>전체선택자 : *</h3>
	<p>HTML 페이지에 있는 모든 문서객체를 선택하는 선택자이다.</p>
	
	<script type="text/javascript">
		/*
		$(function name() {
			$("*").css("color", "red");
		});
		*/
	</script>
	
	<hr>
	
	<h3>태그선택자</h3>
	<h4>안녕? 난 뽀로로야!</h4>
	<p>노는게 제일좋아 친구들 모여라 언제나 즐거워 개구쟁이 뽀로로</p>
	<h4>안녕? 난 뽀로로야!</h4>
	<p>노는게 제일좋아 친구들 모여라 언제나 즐거워 개구쟁이 뽀로로</p>
	
	<script type="text/javascript">
		$(function name() {
			$("h4").css("color", "orangered");
			
			$("h4, p").css("background", "yellowgreen");
		});
	</script>
		
	<hr>
	
	<h3>아이디 선택자</h3>
	<p>특정한 아이디 속성을 가지고 있는 문서 객체를 선택하는 선택자이다.</p>
	<h1>테스트1</h1>
	<h1 id="test2">테스트2</h1>
	<h1>테스트3</h1>
	<script type="text/javascript">
		$(function() {
			$("#test2").css("color", "yellowgreen");
		});
	</script>
	
	<hr>
	
	<h3>클래스 선택자</h3>
	<p>특정한 클래스 속성을 가진 문서 객체를 선택하는 선택자이다.</p>
	<h1 class="item">테스트1</h1>
	<h1 class="item select">테스트2</h1>
	<h1 class="item">테스트3</h1>
	
	<script type="text/javascript">
		$(function() {
			$(".item").css("color", "orange");
			
			// 두 개 클래스 속성을 모두 갖는 문서 객체를 선택하고 싶을 때
			$(".item.select").css("background", "red");
		});
	</script>
	
	<hr>
	
	<h3>자식 선택자와 후손 선택자</h3>
	<p>기본 선택자의 앞에 붙여 사용하며 기본 선택자의 범위 제한</p>
	<div>
		<ul>
			<li><h3>apple</h3></li>
			<li>banana</li>
			<li>orange</li>
			<li>fineapple</li>
			<li>peach</li>
		</ul>
		<h3>child h3</h3>
	</div>
	
	<script type="text/javascript">
		$(function() {
			// 자식 선택자(한개만 지목), >
			$("div>h3").css("color", "red");
			
			// 후손 선택자(아래 전부), 띄어쓰기
			$("div h3").css("background", "orange");
		})
	</script>
	
	<hr>
	
	<h3>속성 선택자</h3>
	<p>기본선택자 뒤에 붙여 사용한다.</p>
	<p>
	요소[속성] : 특정 속성을 가지고 있는 객체 선택<br>
	요소[속성=값] : 속성 안의 값이 특정 값과 같은 객체 선택<br>
	요소[속성~=값] : 속성 안의 값이 특정 값을 단어로써 포함하는 객체 선택<br>
	요소[속성^=값] : 속성 안의 값이 특정 값으로 시작하는 객체 선택<br>
	요소[속성$=값] : 속성 안의 값이 특정 값으로 끝나는 객체 선택<br>
	요소[속성*=값] : 속성 안의 값이 특정 값을 포함하는 객체 선택
	</p>
	
	<input type="text"><br>
	<input type="password" class="test test1"><br>
	<input type="radio"><br>
	<input type="checkbox" class="test2"><br>
	<input type="file"><br>
	
	<script type="text/javascript">
		$(function() {
			$("input[type=text]").val("change value");
			$("input[class~=test]").val("123456");
			$("input[type^=ra]").attr("checked", true);
			$("input[type$=box]").attr("checked", true);
			$("input[class*=st2]").css("width", "100px").css("height", "100px");
			// 바로 위의 연달아 변경하는 함수를 체이닝 방식이라고 한다.
		})
	</script>
	
	
</body>
</html>


+ Recent posts