선택자는 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>


J Query란,



존 레식에 의해 개발된 경량 javaScript 라이브러리로 

복잡한 javaScript코드를 손쉽게 구현하기 위해 개발되었다.



jquery의 장점

1. DOM과 관련된 처리를 쉽게 할 수 있다.

2. ajax통신, 이벤트처리 등을 폭넓게 지원한다.

3. 별도의 플러그인을 통해 차트, 슬라이드쇼, 테이블 등을 간단히 구현할 수 있다.







jQuery를 Eclipse에 적용하는 방법은 두 가지가 있다.


1. js 파일을 직접 다운로드 하여 사용


2. 코드를 작성하여 인터넷을 통해서 받아오는 방법


먼저 첫번째


http://jquery.com/ <---- 웹사이트로 들어가면 아래와 같은 화면이 나오는데 Download를 눌러준다.






누르고 페이지 내용 중 다음 스크린샷과 비슷한 내용 중 박스를 우클릭 - 링크 저장을 하자


그냥 클릭하면 js 파일 내용이 쭉 나오기만 한다.




받은 파일을 Eclipse에 넣으면(드래그 앤 드롭) 끝..!





이 아니고 다음 결과를 보자.





그대로 jQuery를 사용하면 콘솔창에 다음과 같은 오류가 난다.


Uncaught ReferenceError: $ is not defined, $ 키워드가 정의되어 있지 않다.


즉,  js 파일을 불러오지 않았기 때문에 일어나는 오류이다.




다음과 같이 script에 js 경로를 알맞게 소스를 추가하면 된다.








2번째 방법으로는 CDN(Content Delivery Network) 방법, 인터넷을 통해 js 파일을 불러오는 방법이다.


아까 위에서 jquery 다운로드 사이트에서 스크롤을 내리면 Other CDNs 항목이 있다.


보통 구글에서 땡겨오니 Google CDN을 눌러보자




많은 버젼의 스크립트들이 있는데


그 중 3.x snippet이라는 부분에 스크립트 코드가 있는데


이 부분을 복사하여 아까처럼 head 부분에 붙여넣기 하면 된다.










만약 처음 프로젝트 생성 시 3번째에 root를 설정하는데


이 root는 실행 시 주소 줄에 쓰이고 index 창을 찾아가는 기본 경로가 된다.


만약 이 경로가 마음에 안든다면 다음과 같이 변경해보자.


좌측의 해당 프로젝트를 우클릭 - Properties 를 누르면 다음과 같은 창이 나온다.




해당 항목이 root 경로를 의미하는데 마음에 드는 경로로 바꾸고




서버를 더블 클릭하여 모듈로 보아 Path 또한 바꿔주면 끝난다.


되도록이면 바꾸지 말자.






+ Recent posts