YJ의 새벽

jQuery ( 선택자 ) 본문

WebFront_/jQuery

jQuery ( 선택자 )

YJDawn 2023. 3. 3. 17:12

 

 

 

 

 

  •  태그 선택자

-- jQuery 선택자는 css선택자와 같다 !!

 

    <h4>태그 선택자</h4>

    <h5>테스트1</h5>
    <h5>테스트2</h5>
    <h5>테스트3</h5>
    <p>테스트4</p>
    <p>테스트5</p>
    <p>테스트6</p>
        $(document).ready(function(){
          	  // jQuery 선택자는 css 선택자와 같다 !! 
            $("h5").css("color","red");
            $("p").css("color","blue");
            $("h5, p").css("backgroundColor","yellow");

            //document.getElementsByTagName("p").style.color="green";  배열에 스타일적용 X
            const arr = document.getElementsByTagName("p");
            for(let result of arr){
                result.style.color="green";          // 배열요소로 가능하나, 불편하다 .
            }
        });

 

 

 

 

 

 

 

 

 

 

  • 클래스 선택자

 

    <h4>클래스 선택자</h4>

    <h3 class="item">test1</h3>
    <h3 class="item select">test2</h3>
    <h3 class="item">test3</h3>
    <h3 class="select">test4</h3>
        $(document).ready(function(){
            $(".item").css("color","orange");           //클래스가 item 인 요소의 글자색 orange 변경
            $(".select").css("backgroundColor","yellowgreen");  //클래스가 select 인 요소의 배경색 yellowgreen 변경
            
                                             // item, select  동시에 가지고있는요소만 글자크기 10px 변경
            $(".item.select").css("fontSize","10px ");
        });

 

 

 

 

 

 

 

 

 

 

 

 

  • 아이디 선택자

 

ex) 영어 소문자 + 영어 대문자 + 숫자로만 이루어진 문자열

       글자수는 총 8 ~20 글자사이 ,

       단, 첫글자는 반드시 영어 소문자

    <h3>아이디 선택자</h3>

    <input type="text" id="input1">
    <span id="span1"></span>
        const regExp = /^[a-z][a-zA-Z0-9]{7,19}$/;

        $("#input1").on("input",function(){
            	//on() == addEventListener
           	 	//     == 특정 이벤트 발생시 동작 지정
            	//input 이벤트  :  입력과 관련된 모든 행위

            	// 1. 작성된 값이 정규표현식에 맞는형식인지 검사
            if( regExp.test( $("#input1").val() )){
                	// $("#input1").val  :  아이디가 input1 인요소의 value
            
                	// 2. 정규식 결과에 따라 내용 출력
                $("#span1").text("유효한 문자열 형식입니다.");
                $("#span1").css("color","green");
            }else{
                $("#span1").text("유효하지 않은 문자열").css("color","red");
            }
        })
Document

아이디 선택자

 

 

 

 

 

 

 

 

 

 

 

  • 자식, 후손 선택자

 

    <h3>자식, 후손 선택자</h3>
    <div class="area">
        <ul>
            <li><h4>사과</h4></li>
            <li>바나나</li>
            <li>딸기</li>
            <li class="qqq">오렌지</li>
            <li class="qqq">멜론</li>
        </ul>
        <h4>테스트1</h4>
        <h4 class="qqq">테스트2</h4>
    </div>
        $(function(){
            $(".area > h4 ").css("color","red");           // .area의 자식 h4
            $(".area > ul> .qqq").css("backgroundColor","tomato");  // .area 의 ul 의 .qqq

           			 // 클래스 area 인요소 후손중 클래스 qqq인 요소 폰트크기 30px
            $(".area .qqq").css("fontSize","30px");

           			 // 사과 요소 선택하여 배경 빨강, 글자흰색 
            $(".area > ul > li> h4").css("backgroundColor","red").css("color","white");
        });

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 속성 선택자

 

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

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

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

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

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

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

 

   <input type="radio" name="gender" id="male" value="남">
   <label for="male">남자</label>

   <input type="radio" name="gender" id="female" value="여">
   <label for="female">여자</label>

   <button type="button" id="check">확인하기</button>
        $("#check").on("click",function(){
            //name 속성값이 gender 요소 선택
            const gender= ( $("input[name='gender']:checked"));
            
            console.log ( gender.length);
            // check 안하면  0
            // check 하면   1

            //radio 하나도 선택되지 않은경우
            if(gender.length==0){
                alert("남자 또는 여자중 하나를 선택해주세요")
            }else{
                // 1. 순수 JS
                console.log(gender[0].value);  //  남, 여
                // 2. JS + jQuery 
                console.log(gender.val());     //  남, 여
                // 3. 순수 jQuery
                console.log( $(gender).val()); //  남, 여
                
                alert(gender.val() + "자를 선택하셨슴둥");
            }
        })
Document

속성 선택자

성별:

 

 

 

 

 

 

 

  •  prop () 메서드

 

-- attribute  :  type , name , class , id , value  등과 같이 속성값 별도로 입력해야하는 속성.

-- property  :  checked , selected 등과 같이 속성값이 별도로 입력되지 않는 속성

 

-- prop("속성명")  :  해당 속성이 요소에 존재하면 true , 아니면 false 

-- prop("속성명" , true / false )  :  해당 속성을 checked 또는 selected 상태로 변경(true) / 해제(false)

 

    <h3>prop() 메서드</h3>

    취미 : 
    <input type="checkbox" name="hobby" value="football">축구
    <input type="checkbox" name="hobby" value="game" checked>게임
    <input type="checkbox" name="hobby" value="music">음악감상

    <button type="button" id="btn1">확인</button>
       $("#btn1").on("click",function(){

            const arr = $("input[name='hobby']");
            let str = "";    // 체크된요소의 value값을 저장할 변수

            console.log( arr.prop("checked"));              
            // 배열명 자체를 적을경우 0번인덱스만 확인가능.  == false

            for (let i=0; i<arr.length; i++){
                console.log(i +" : "+ $(arr[i]).prop("checked"));  // 각 인덱스 체크상태확인

                if( $(arr[i]).prop("checked") ){
                    str += $(arr[i]).val() + " ";  // 체크된요소 value을 str에 저장
                }
            }
            alert(str);            // str 출력
        });
Document

prop() 메서드

취미 : 축구 게임 음악감상

 

 

 

 

 

 

 

'WebFront_ > jQuery' 카테고리의 다른 글

jQuery ( effect 메소드 )  (0) 2023.03.06
jQuery ( 메소드와 이벤트 )  (0) 2023.03.06
jQuery 박스색 바꾸기 예제  (0) 2023.03.03
jQuery ( 순회(탐색) 메서드 )  (0) 2023.03.03
jQuery 란? ( onload(), read() )  (0) 2023.03.03
Comments