IT 공부/JavaScript

Jquery

toraa 2022. 6. 21. 17:50

. 제이쿼리 시작
 - 방법1: $( document.ready ( function ( ){ 실행문 } ) );
 - 방법2: $( function ( ) { 실행문 } );
 - 방법3: $( ( ) => { 실행문 } );

. 선택자

         선택자                                   설명
----------------------------------------------------------------------------------------
$(*)                                               전체요소선택
$("태그명,태그명,,")                     해당 태그를 태그명으로 요소 선택
$("#아이디")                                 아이디명으로 선택
$(".클래스")                                  클래스명으로 선택
$("태그명1 태그명2")
$("태그명1>태그명2")

$("선택요소").parent()
&("선택요소").children('태그명')
$("선택요소").pre()                         앞에있는 형제
$("선택요소").next()                       뒤에있는 형제
$("선택요소").sibling('태그명')        형제중 해당태그

//form의 input요소를 선택할 경우 
$(":종류")
  - 예) $("선택자": text)

. CSS적용
  - $("선택요소").css('속성','값').css('속성',값),,,
  - $("선택요소").css('속성':'값', '속성':'값',,)


<!DOCTYPE html>
<meta charset="UTF-8">
<html>
<script type="text/javascript" src="jquery-3.6.0.min.js"></script>
<script>
   
   $(function(){
	   
	   $('*').css('font-size','30px');
	   $('h1').css('color','red');
	   $('#firstTitle').css('color','green');
	   $('.nextTitle').css('color','blue');
	   $('.obj2>li').css('font-weight','bold').css('color','pink');
	   $('.obj2').children('.theObj1').css('color','purple');
	   $('.obj4').parent().css('border','1px dashed 2px #f00');
	   $('#wrap h3').css('font-size','20px').css('background-color','yellow');
	   $('.obj3').next().css('color','orange');
	   $('.obj4').prev().css('text-align','right');
	   $('.obj5').siblings('li').css('text-align','center');
	   
	   $(':text').css({'background-color':'#css', 'border':'2px solid #357','color':'green'});	   
   });
 
</script>
<body> 

  <div id='wrap'>
  	<h1>제이쿼리를 활용한 선택자 학습</h1>
  	<hr>
  	<h2 id="firstTitle">선택자</h2>
  	<h3 class="nextTitle">부모요소 선택자</h3>
  	<div>
  		<p class="obj1">현재 id가 "obj1"인 요소를 기준으로, 부모요소는 'div'요소입니다</p>
  	</div>
  	<ul class="obj2">
  		<li>리스트1</li>
  		<li class="theObj1">리스트2</li>
  		<li>리스트3</li>
  	</ul>
  	<h3>형 요소 선택자</h3>
  	<ul>
  		<li>리스트4</li>
  		<li class="obj3">리스트5</li>
  		<li>리스트6</li>  	
  	</ul>
  	<h3>동생 요소 선택자</h3>
  	<ul>
  		<li>리스트7</li>
  		<li class="obj4">리스트8</li>
  		<li>리스트9</li>  	
  	</ul>
  	<h3>형제 요소 선택자</h3>
  	<ul>
  		<li>리스트10</li>
  		<li class="obj5">리스트11</li>
  		<li>리스트12</li>  	
  	</ul>
	<h3>입력요소 선택자</h3>
  	<p><label for="user_name1">이름1</label>
  		<input type="text" name="user_name" id="user_name1">
  	</p>
  	<p><label for="user_name2">이름2</label>
  		<input type="text" name="user_name" id="user_name2">
  	</p>
  	</div>
  
</body>
</body></html>

탐색선택자
$ ( ' # list: li : 속성 ').함수( ).함수( ),,

              선 택 자                                        설 명
----------------------------------------------------------------------------------
$("ul li:odd")                    ul의 li요소 중 홀수
$("ul li:even")

$("ul li:first")
$("ul li:last")
$("ul li:eq(1)")                  인덱스는 0부터 시작..두번째 것
  >> $("ul li").eq(1)
  
$("ul li: lt(2)")                    세번째 이전까지
$("ul li: gt(2)")                   세번째 이후들
  
$("ul li: nth-child(2n)")       2의 배수요소들만
$("ul li: contains('문자')")   li중 문자가 포함되어 있는 요소만
$("ul li: has("span")")        span태그를 포함하는 li만
$("ul li: visible")                 li요소중 보이는 요소만
$("ul li: hidden")

$("ul li").filter(".theObj")    클래스가 theObj인 요소만
$("ul li").find('a')                li가 포함하는 a요소만
$("ul li").not(:empty)         li요소 중 내용을 가진 요소만

$("h1","h2")                      h1,h2요소만


<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="jquery-3.6.0.min.js"></script>
<script type="text/javascript">
	
	$(function(){
		
		$('#list1 li:odd').css('background','yellow');
		$('#list1 li:even').css('background','lightgray');
		$('#list1 li:first').css('color','red');
		$('#list li:last').css('color','green');
		$('#list1 li').eq(1).css('font-style','italic');
		$('#list1 li:lt(2)').css('border','2px dotted aqua');
		$('#list1 li:gt(3)').css('border','purple 2px solid');
		
		$('#list2 li:nth-child(2n)').css('background','orange');
		$("#list2 li:contains('리스트11')").css('color','red');
		$("#list2 li:has('span')").css("color","aqua");
		$("#list2 li").filter('.theObj').css('font-size','20px');
		$("#list2 li").find('a').css('background-color','red');
	});
	
</script>
</head>
<body>
	<div id='wrap'>
		<h1>탐색 선택자 및 HTML조작</h1>
		<h2>탐색 선택자</h2>
		<ul id="list1">
			<li>리스트1</li>
			<li>리스트2</li>
			<li>리스트3</li>
			<li>리스트4</li>
			<li>리스트5</li>
			<li>리스트6</li>
			<li>리스트7</li>
		</ul>
		<ul id="list2">
			<li>리스트8</li>
			<li class='theObj'>리스트9</li>
			<li><span>리스트10</span></li>
			<li>리스트11</li>
			<li><a href=#>리스트12</a></li>
			<li>리스트13</li>
			<li>리스트14</li>
		</ul>
		<h2 class='theTitle'>HTML조작</h2>
		<ul>
			<li>list_2</li>
		</ul>
	
	</div>

</body>
</html>

선택자와 함께 사용하는 함수들

$ ( '선택요소' ). html( '새요소' )  선택한 요소의 하위 요소들을 새요소로 변경
                         text( '새텍스트' )  선택한 요소의 텍스트를 새 텍스트로 변경
   
(추가)
$('선택요소').append("새요소")        맨마지막에 추가
$('선택요소').prepend('새요소')        맨앞에 추가
$('새요소').insertBefore('요소선택')  이전위치에 형제요소로 추가
$('새요소').insertAfter('요소선택')    선택한 요소의 뒤에 형제요소 추가
$('선택요소').remove()                     선택요소 삭제

(속성지정)
$('선택요소').attr('속성')            해당속성의 값을 반환
$('선택요소').attr('속성','값')      속성지정
  .addClass('클리스명')             새클래스명 부여
  .removeClass('클래스명')
  .toggleClass('클래스명')          선택요소에 해당 클래스명이 있으면 부여x, 없으면 부여o
  .hasClass('클래스명')              클래스명이 있으면 true반환
  .wrap("<div></div>")                선택요소를 <div>로 둘러싼다


<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="jquery-3.6.0.min.js"></script>
<script type="text/javascript">

	$(()=>{
		$('.theTitle').html("<a href='#'>HTML조작</a>");
		$('.obj').text("'list2'를 'list_2'로 변경해봅니다.");
		$('#list').append('<li>append로 새로 추가한 list6</li>');
		$('#list').prepend('<li>prepend로 새로 추가한 list1</li>');
		
		$('<li>insertBefore로 새로 추가한 요소</li>').insertBefore($('#list li').eq(4));
		$('<li>insertAfter로 새로 추가한 요소</li>').insertAfter($('#list li').eq(5));
		$('#list li').eq(0).remove();
		
		$('#list li').eq(0).attr('class','obj2');
		$('.obj2').css({'background-color':'yellow','border':'3px solid #000','color':'blue'});
		$('#list li').eq(0).addClass('obj3');
		$('.obj3').css('color','red');
	});
	
	
</script>
</head>
<body>
	<div id='wrap'>
		<h2 class='theTitle'>HTML조작</h2>
		<ul id='list'>
			<li class='obj'>list2</li>
			<li>list3</li>
			<li>list4</li>
			<li>list5</li>
		</ul>
	</div>

</body>
</html>

  이벤트
      - 핸들러 : 이벤트가 발생되었을 떄 수행되도록 해당 이벤트를 지정해둔 요소(태그)
      - 문법
         $('선택요소').click(function(){실행문});
      - on이 없다


<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
   .menu a{cursor: pointer;}
   .menu.hide{display: none;background-color: yellow;}

</style>


<script type="text/javascript" src="jquery-3.6.0.min.js"></script>
<script type="text/javascript">

   $(document).ready(function () {
      $('.menu>a').click(function() {
      
         let submenu = $(this).next('ul');
         
         if(submenu.is(':visible')){
            submenu.slideUp();
            
         }
         else{
            submenu.slideDown();
         }
         
      });
   })
      

</script>
</head>
<body>

      <div>
         <ul>
            <li class="menu">
               <a><img src='../img/rol1.jpg'></a>
               <ul class="hide">
                  <li>메뉴1
                  <li>메뉴2
                  <li>메뉴3
                  <li>메뉴4
                  <li>메뉴5
                  <li>메뉴6
               </ul>
            </li>
            <li class="menu">
               <a><img src='../img/rol3.png'></a>
               <ul class="hide">
                  <li>메뉴1
                  <li>메뉴2
                  <li>메뉴3
                  <li>메뉴4
                  <li>메뉴5
                  <li>메뉴6
               </ul>
            </li>
         </ul>
      </div>

</body>
</html>

'IT 공부 > JavaScript' 카테고리의 다른 글

여행사이트 만들기  (0) 2022.07.18
wow활용  (1) 2022.07.18
geolocation  (2) 2022.06.21
snowdrop  (0) 2022.06.20
canvas  (0) 2022.06.20