ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JQuery 보강-22.06.07
    웹프로그래밍 2022. 6. 7. 19:14
    728x90
    DOM(Document Object Model)
    문서를 객체화 시킨 모델이다.
    DOM에서는 엘리먼트를 찾아서 어떤 작업을 하는것 즉 중요한것은 대상이 되는 작업을 찾는것이 중요
    
    <div>안녕하세요</div> 시작태그 안녕하세요: 컨텐츠 종료태그, 얘를 다 묶어서 엘리먼트(Element)
    
    1. html문서를 웹브라우저가 읽어옴
    2. 파싱 작업(문서 구조 분석)
    3. DOM객체 생성(DOM Tree구성)
    4. DOM을 이용해서 렌더링(화면출력)
    
    <head>자식엘리먼트 존재(meta,title, link,style...)</head>

    JQuery
    $("셀렉터").명령()
    셀렉터 : 명령을 내리고 싶은 어떤 엘리먼트(대상엘리먼트)
    
    $("*") : 대상이 전체, jQuert객체 안에 셀렉터로 찾은 엘리먼트들이 배열형태로 저장된다.
    $("div") : 현재 문서에 div를 찾아라
    $("div").css("color","red");  : 속성이 div인 글자컬러 레드로 바꿔라
    $("div.test")
    $(".test"): *.test와 같음 모든엘리먼트중에 클래스가 test인것
    $("p#test") : #: id,  같은문서상에서는 id속성은 중복되면 안된다. 만약에 중복됐다면 첫번째것을 찾는다.
                : $("#test")도 가능
    $("p,div") : p태그도 찾고, div도 찾고 
    $("p div") : p의 자손들중에 div를 찾아라 (자식도 자손도 찾음)
    $("p>div") : p태그의 자식들중에서만 div를 찾아라
    $("p+div") : p태그 바로 다음에 나오는 div인것을 찾아라, p태그의 형제 중 바로 밑에있는것 찾기
    $("p~div") : p의 형제들중에 div를 전부 찾아라
    
    <선택자>
    $("form[name=facForm]"): 네임속성의 이름이 facForm인것 
    $("form[name^=fac]") :네임속성이fac로 시작하는것
    #("form[name*=cF]") :cF를 포함하는것
    $("form[name~=exam]") : 띄어쓰기가 되어있는 각각의 단어와 일치하는것  즉 name="facForm examform exam"
    $("form[name|=exam]") : name="facForm exam-form exam" 에서 찾을 수 있음

     var obj = {
          이름: "홍길동",
          나이: 25,
          성별: "남",
          주소: "서울시 양천구 목동",
          특기: ["농구", "도술"],
          가족관계: {아버지:"홍판서", 어머니:"춘섬"}
       };
    
    
    obj.이름 ==>홍길동
    obj.특기[0] ==>농구
    obj.특기[1] ==>도술
    
    obj.가족관계.아버지 ==>홍판서
    obj.가족관계.어머니 ==>춘섬
    
    var arr = [{
                         "이름" : "홍길동",
                         "tel" : "011-0044-4477",
                         "addr" : "대전 중구 용두",
                         "email" : "hong@ddit.or.kr"
                    },
                    {
                         "이름" : "임길동",
                         "tel" : "011-0044-4478",
                         "addr" : "대전 중구 오류동",
                         "email" : "yim@ddit.or.kr"
                    },
                    {
                         "이름" : "림길동",
                         "tel" : "011-0044-4499",
                         "addr" : "대전 중구 태평동",
                         "email" : "lim@ddit.or.kr"
                    }
                   ]
    
    arr[1].이름 ==>임길동
    arr[0].addr ==> 대전 중구 용두동
    //배열갯수만큼 반복을 할때 arr의 데이터를 하나씩 넘겨주는데 i:배열의첨자 v: 배열의 데이터
    //arr배열의 갯수만큼 실행되는데 한번 실행될 때마다 함수의 첫번째 변수에는 첨자가 전달되고, 두번째 변수에는 첨자번째 데이터가 전달된다.
    
    $.each(arr, function(i,v){  
    	result +=i+"번째 자료<br>";
        result +="이름:" +v.이름 +"<br>";
        result +="tel:" +v.tel +"<br>";
        result +="addr:" +v.addr +"<br>";
        result +="email:" +v.email +"<hr>";
    
    
    });
    -------------------------------------------------------------------------
    var obj = {
          이름: "홍길동",
          나이: 25,
          성별: "남",
          주소: "서울시 양천구 목동",
          특기: ["농구", "도술"],
          가족관계: {아버지:"홍판서", 어머니:"춘섬"}
       };
    //each 함수의 첫번째 값으로 '객체' 데이터를 주면
    //객체의 속성(멤버변수) 개수만큼 반복하고, 반복 할 때마다 함수의 첫번째 변수에는 객체의 속성명이 전달되고,
    //두번째 변수에는 해당 속성의 값이 전달된다.
    $.each(obj, function(i,v){  i:나이 v:25
    	result+=i + ":" +v +"<br>"
    
    });
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript" src="./js/jquery-3.6.0.min.js"></script>
    <script type="text/javascript">
    $(function(){
    	var arr = [
    		{
    			"이름"	: "이길동",
    			"tel"	: "011-0044-4477",
    			"addr"	: "대전 중구 용두동",
    			"email" : "hong@ddit.or.kr"
    		},
    		{
    			"이름"	: "임길동",
    			"tel"	: "011-0044-4478",
    			"addr"	: "대전 중구 오류동",
    			"email" : "yim@ddit.or.kr"
    		},
    		{
    			"이름"	: "림길동",
    			"tel"	: "011-0044-4499",
    			"addr"	: "대전 중구 태평동",
    			"email" : "lim@ddit.or.kr"
    		}
    	];
    	
    	var obj = {
    			이름 : "홍길동",
    			나이 : 25,
    			성별 : "남",
    			주소 : "서울시 양천구 목동",
    			특기 : ["농구","도술"],
    			가족관계 : {아버지 :"홍판서",어머니 :"춘섬"}
    		};
    	
    	
    	$("#testBtn").on("click", function(){
    		var result = "";
    		/*
    		for(var i=0; i<arr.length; i++){
    			result += i + "번째 자료<br>";
    			result += "이름 :" + arr[i].이름 + "<br>";
    			result += "tel :" + arr[i].tel + "<br>";
    			result += "addr :" + arr[i].addr + "<br>";
    			result += "email :" + arr[i].email + "<hr>";
    		}
    		*/
    		
    		/*
    		// arr 배열의 개수만큼 실행되는데 한번 실행될  때 마다 
    		//	함수의 첫번째 변수에는 첨자가 전달되고, 두번째 변수에는 첨자번째 데이터가 전달된다.
    		$.each(arr, function(i,v){
    			result += i + "번째 자료<br>";
    			result += "-이름 :" + v.이름 + "<br>";
    			result += "-tel :" + v.tel + "<br>";
    			result += "-addr :" + v.addr + "<br>";
    			result += "-email :" + v.email + "<hr>";
    		});
    		*/
    		
    		// each함수의 첫번째 값으로 '객체'데이터를 주면
    		// 객체의 속성(멤버변수)개수만큼 반복하고, 반복 할 때마다
    		// 함수의 첫번째 변수에는 객체의 속성명이 전달되고,
    		// 두번째 변수에는 해당 속성의 값이 전달된다.
    		$.each(obj, function(i,v){
    			result += i + " : " + v + "<br>";
    		});
    		
    		$("#result").html(result);
    	});
    	
    });
    
    </script>
    </head>
    <body>
    <input type="button" value="확인" id="testBtn"><br>
    
    <div id="result"></div>
    </body>
    </html>
    728x90
Designed by Tistory.