728x90

 

 

<jquery 연결방식 4가지>
1)jQuery 명시
2) $ 명시
3) jQuery 명시 + 생략 (다큐먼트부터 레디까지는 생략가능)
4) $ + 생략

 

<선택자 종류>
1) 전체 선택자 : *                          
2) 태그 선택자 :  <tag>                    
3) 아이디 선택자 :  #                      
4) 클래스 선택자 :  .                      
5) 자식선택자, 후손선택자 : >, (공백)        
6) 속성 선택자 : [ ]

 

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>01_JQuery_prac</title>

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>


</head>
<body>


    <script>
    // $가 보이면 제이쿼리
    $(document).ready(function(){
        $('#ol-connect').css('backgroundColor','gray');
    });

    </script>

<h3>$(document).ready()</h3>
<p id="p-ready">
    페이지를 로드한 후 ready메소드 실행 = JavaScript의 window.onload()<br>
  
    ※ JS의 window.onload속성 vs Query의 $(document).ready() 차이 ※ 
    자바스크립트의 window.onload속성은 여러 개 설정 시 마지막에 쓴 것으로 덮어써짐<br>
    jQuery의 $(document).ready()는 여러 개 설정하면 모두 연달아 실행 <br>

</p>
    
    <script>

        // jquery 연결방식 4가지
        // 1)jQuery 명시
        jQuery(document).ready(function(){
            $('#p-ready').css('border','2px dashed blue');
        });

        // 2) $ 명시
        $(document).ready(function(){
            $('#p-ready').css('color','red');
        });

        // 3) jQuery 명시 + 생략 (다큐먼트부터 레디까지는 생략가능)
        jQuery(function(){
            $('#p-ready').css('font-weight','bold');
        });
        // 4) $ + 생략
        jQuery(function(){
            $('#p-ready').css('font-family','궁서체');
        });

    </script>



    <h2 >선택자와 메소드</h2>
    <p>선택자를 지정하고 메소드를 통해 jQuery적용<br>

        <br>선택자 종류<br>
        1) 전체 선택자 : *                          <br>
        2) 태그 선택자 :  <tag>                     <br>
        3) 아이디 선택자 :  #                       <br>
        4) 클래스 선택자 :  .                       <br>   
        5) 자식선택자, 후손선택자 : >, (공백)        <br>
        6) 속성 선택자 : [ ]                        <br>   


    </p>
    <div>
      <ul>
         <li>치킨</li>
         <li>불고기 피자</li>
         <li>치즈 피자</li>
         <li>파인애플 피자</li>
         <li>콤비네이션 피자</li>
      </ul>
      <h3>KH피자#</h3>
    </div>
   
    <label style="border: dashed;">이름 : </label><input type="text" id="name" name="name" class="order"><br>

    <label>주문 비밀번호 : </label><input type="password" id="pwd" name="pwd" class="order important"><br>

    <label>핸드폰번호 : </label>
    <input type="number" name="number1">-<input type="number" name="number2">-<input type="number" name="number3"><br>

    <label>주소 : </label>
    <input type="text" id="addr" name="addr" class="order" size=80><br>

    <label>치킨 주문 : </label>
    <input type="text" id="chicken" class="order" list="chickenList">
    <datalist id="chickenList">
        <option value="original">후라이드 치킨</option>
        <option value="source">양념 치킨</option>
        <option value="half">후라이드 반 양념 반</option>
    </datalist><br>

   <label>피자주문 : </label>
   <input type="checkbox" name="pizza">불고기 피자 &nbsp;&nbsp;
   <input type="checkbox" name="pizza">치즈 피자 &nbsp;&nbsp;
   <input type="checkbox" name="pizza">파인애플 피자 &nbsp;&nbsp;
   <input type="checkbox" name="pizza">콤비네이션 피자 <br>
   
   <label>일회용품 : </label>
   <input type="radio" name="product1" id="need" checked>필요함 &nbsp;&nbsp; 
   <input type="radio" name="product1" id="noneed">필요하지 않음<br>
   
   <label>파일 : </label><input type="file"><br>
   <label>이미지 : </label><input type="image" src="../images/flower1.PNG" height="200px"><br>
   

   <br>
   
   <input type="button" value="클릭">
   <input type="submit" value="제출">
   <input type="reset" value="리셋"><br>
   <input type="text" disabled><input type="button" value="비활성화" disabled>
   
   <br><br>
   
   <table>
      <tr><th>이름</th><th>혈액형</th><th>고향</th></tr>
      <tr><td>강건강</td><td>B형</td><td>광주</td></tr>
      <tr><td><a>남나눔</a></td><td>AB형</td><td>담양</td></tr>
      <tr><td><a href="#">도대담</a></td><td>A형</td><td>서울</td></tr>
      <tr><td>류라라</td><td>B형</td><td>천안</td></tr>
      <tr><td>문미미</td><td>O형</td><td>서울</td></tr>
      <tr><td>박보배</td><td>A형</td><td>담양</td></tr>
      <tr><td colspan="2">총원</td><td>6</td></tr>
   </table>   


   

   <script>
        $(function(){
            // 선택자 종류
            // 1) 전체 선택자 : *
            // 2) 태그 선택자 :  <tag>
            // 3) 아이디 선택자 :  # 
            // 4) 클래스 선택자 :  .
            // 5) 자식선택자, 후손선택자 : >, (공백)
            // 6) 속성 선택자 : [ ]


            // 1)전체선택자 : *
            // $('*').css('color','white'); // 다 화이트로 바뀜
            // css() : 스타일 적용 & 확인가능. 문서 객체의 스타일을 검사하거나 변경할 때 사용
            // 스타일 검사? 의미?

             console.log($('*').css('font'));   // 16px "Malgun Gothic"
          
            // 2) 태그 선택자 :  <tag>
            // 여러개 지정 가능. 쉼표로 잇기
            // $('li').css('backgroundColor','#f05515');
            // $(document).ready(function(){
            //     $('li').css('background','#ff0');   //  $(document).ready() 적용
            }).css('backgroundColor','blue');
            jQuery(document).ready(function(){      //  jQuery(document).ready() w적용
                $('p').css('font','20px bold');
            });
            $('p,h3').css('font-size','20px');
            jQuery(document).ready(function(){
                $('td').css('font','30px bold','color','white');
            })
            


            
            // 3) 아이디 선택자 :  # 
     

            // attr() : 문서 객체의 특정 속성값을 알아내거나 추가할 때 사용 
            // css처럼 어떤 값을 지정할 수 있지만 속성 이름만 가지고 불러올 수 있는 것처럼
            // 얘도 지정할 수 있지만 불러올 수도 있음


            console.log($('#name').attr('placeholder'));// 아이디를 지정하세요 // 어떤값들이 있는가 조회 한 것
            console.log($('#name').attr('id'));   // name -> id 속성의 밸류값을 알려줌 : id="name"
            console.log($('#name').attr('type')); // text -> type속성의 밸류값을 알려줌 : type="text"
            console.log($('#name').attr('size')); // undefined 없는속성가져오면뜸 // undefined : 없는 속성인데 호출하면 undefined 뜸
            
            
            $('input:checkbox').prop('checked', true);  

            $('#name').attr('size',50);    // size 추가 
            $('#name').attr('style','display inline-block');    // size 추가 
            $('#name').attr('width','500');    // size 추가 
            $('#name').attr('onclick');    // input태그가 아니라 안먹힘
            $('#name').attr('style','border dashed');    // worked
            $('#name').removeAttr('width');


            // //.removeAttr() : 속성 삭제
            $('#name').removeAttr('size');  // size 삭제 
               
           
            // 4) 클래스 선택자 :  .
            $('.order').css('color','green');
            $('.order').css('border','5px groove');
            
            $('.order.important').css('background','rgba(0,0,255,0.1)'); // class="order important" 한줄에만 적용 // class 두개 선언됨

            $('.order').css('background','rgba(0,0,255,0.9)');      // class="order"와 class="order important" 포함하여 둘 다 적용
            $('.order.important').css('background','tomato');    // 윗줄에서 order들어간 클래스 전부 파란색으로 바뀌었다가 class="order important"줄만 토마토색으로 다시 overwrite
            

            // 5) 자식선택자, 후손선택자 : >, (공백)
            $('div>h3').css('border','dashed');     // div(미포함) 아래 h3인 KH피자에 적용
            $('div h3').css('border','dashed 5px'); // div(미포함) 아래 h3인 KH피자에 적용
            $('div ul').css('border','dashed 5px'); // div(미포함) 아래 h3와  ul(포함) 아래 li까지 적용
            
            $('div li').css('background','tomato');  // div(미포함) 아래 h3와  ul(포함) 아래 li까지 적용
            $('div>h3').css('color', 'brown');
            $('div li').css('color', 'orange'); // js와 동일


            
            // 6) 속성 선택자 : [ ]
            $('input[size]').css('background','yellowgreen');
            $('input[type=number]').attr('placeholder','번호 필수 입력');
            $('input[class~=important]').val('12345');  // ~= : important 포함해야하는데 구분자가 존재하기에 띄어쓰기로 구분했을 때 임포턴트가 들어가 있어도 조건에 부합
            // val() : value에 값을 설정하거나 value 값을 확인할 때 사용 (= js의 value랑 동일)
                
            console.log($('input[class~=important]').val());

            // *= : 특정값을 포함하는 것에 조건 적용
            // ^= : 특정값으로 시작하는 것에 조건 적용
            // $= : 특정값으로 끝나는 것에 조건 적용        
            $('input[name*=d]').css('background','pink');           // 특정값을 포함하고있는거 다 , d라는게 안에 들어가있는 
            $('input[name^=n]').css('background','skyblue');        // n으로 시작하는것
            $('input[name^=der]').css('background','rgba(0,100,0,0.1)');    // der로 끝나는것
            

            $('input:text').css('background', 'white');         // 'input:text'       input type이 text인것
            $('input:password').css('background', 'gold');  // 'input:password'   input type이 password인것   
            $('input:checkbox').prop('checked', true);      // 'input:checkbox'
            // prop() : 속성값의 여부를 true/ false로 설정하거나 알아냄
        

    });
    </script>
728x90
반응형

+ Recent posts