jQuery 전략: 선택기, DOM 작업, CSS 작업, 이벤트(이벤트 바인더, 마우스 이벤트, 키보드 이벤트, 양식 이벤트, 브라우저 이벤트), 순회, 애니메이션

jQuery 소개

jQuery는 효율적이고 컴팩트하며 기능이 풍부한 JavaScript 도구 라이브러리입니다. 제공되는 API는 사용하기 쉽고 많은 브라우저와 호환되므로 HTML 문서 탐색 및 조작, 이벤트 처리, 애니메이션 작업 등이 더 쉬워집니다.

jQuery의 가장 큰 장점은 DOM 작업을 단순화한다는 것입니다.

공식 웹사이트 문서: jQuery

중국어 문서: jQuery API 중국어 문서 | jQuery 중국어 웹사이트

jQuery 릴리스 노트

jQuery는 1.x, 2.x, 3.x의 세 가지 주요 버전으로 나뉩니다.

1.x 버전

가장 널리 사용되는 ie678과 호환되며 공식적으로는 BUG 유지 관리만 수행하고 새로운 기능은 없습니다. 따라서 일반 프로젝트의 경우 버전 1.x, 최종 버전인 1.12.4(2016년 5월 20일)를 사용할 수 있습니다.

2.x 버전

ie678과 호환되지 않아 사용하는 사람이 거의 없으며 공식적으로는 BUG 유지 관리만 수행하고 새로운 기능은 추가되지 않습니다. 낮은 버전의 브라우저가 호환되지 않는 것으로 간주되면 2.x를 사용할 수 있습니다. 최종 버전: 2.2.4(2016년 5월 20일)

3.x 버전

ie678과 호환되지 않으며 최신 브라우저만 지원합니다. 특별한 요구 사항이 없는 한 일반적으로 3.x 버전은 사용되지 않으며, 이전 jQuery 플러그인 중 상당수는 이 버전을 지원하지 않습니다. 이 버전은 현재 공식적인 주요 업데이트 및 유지 관리 버전입니다. 최신 버전: 3.6.0

jQuery는 지식 포인트에 중점을 둡니다.

  1. 선택자

  2. DOM 조작

  3. CSS 작업

  4. 이벤트 처리

  5. 횡단

  6. 생기

다음은 JavaScript를 사용하여 내용을 수정하는 것입니다. 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="root">新年快乐</div>


    <script>
        var root = document.getElementById("root")
        root.innerHTML = "大展宏图"
    </script>

    
</body>
</html>

jQuery를 이용하여 컨텐츠를 수정하는 방법은 다음과 같습니다. 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./jquery-1.12.4.min.js"></script>
</head>
<body>
    <div id="root">新年快乐</div>

    <script>
         $("#root").html("2023年")
    </script>
</body>
</html>


1. jQuery 선택기

JavaScript 기본 선택기 구현

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div class="container">类选择器</div>
    <span>元素选择器</span>
    <a id="root" href="#">ID选择器</a>

    <script>
        // 类选择器
        var container = document.getElementsByClassName("container")[0]
        container.innerHTML = "JS类选择器"

        // 元素选择器
        var span = document.getElementsByTagName("span")[0]
        span.innerHTML = "JS元素选择器"

        // ID选择器
        var root = document.getElementById("root")
        root.innerHTML = "JS的ID选择器"
    </script>
</body>
</html>

 jQuery 선택기 구현

        기본 선택자: 클래스 선택자 ID 선택자 요소 선택자

        속성 선택기: 완벽한 일치 접두사(|) 포함(*) 공백(~) 시작(^) 끝($)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./jquery-1.12.4.min.js"></script>
</head>
<body>

    <div class="container">类选择器</div>
    <span>元素选择器</span>
    <a id="root" href="#">ID选择器</a>

    <ul class="navtop">
        <li>item1</li>
        <li>
            <ul>
                <li>child-item1</li>
                <li>child-item1</li>
                <li>child-item1</li>
            </ul>
        </li>
        <li>item3</li>
    </ul>

    <div>
        <input type="radio" name="user" value="username" />
        <span>name</span>
    </div>

    <div>
        <input type="radio" name="user" value="age" />
        <span>age</span>
    </div>

    <a href="#" alt="sxt">sxt</a>
    <a href="#" alt="sxt-itbaizhan">sxt-itbaizhan</a>
    <a href="#" alt="sxtitbaizhan">sxtitbaizhan</a>
    <a href="#" alt="itbaizhan">itbaizhan</a>
    <a href="#" alt="sxt itbaizhan">sxt itbaizhan</a>

    <script>
        // 类选择器
        $(".container").html("jQuery类选择器")

        // 元素选择器
        $("span").html("jQuery元素选择器")

        // ID选择器
        $("#root").html("jQuery的ID选择器")

        // 子代选择器   .css("属性","属性值")
        $(".navtop > li").css("border","1px solid red")

        // 后代选择器
        $(".navtop li").css("border","1px solid red")

        // 属性选择器(完美匹配)
        // .next()是同一目录下的下一个标签  
        // .html()等同于JavaScript 的innerHTML()
        $("input[value = 'username']").next().html("username")

        // 属性选择器  前缀(-)
        $("a[alt |= 'sxt']").css("border","2px solid red")

        // 属性选择器  包含即可
        $("a[alt *= 'sxt']").css("border","2px dashed green")

        // 属性选择器  包含空格中任意一个单词
        $("a[alt ~= 'sxt']").css("border","2px dotted red")

        // 属性选择器,以给定字符开始
        $("a[alt ^= 'sxt']").css("border","2px double orange")

        // 属性选择器,以给定字符结束
        $("a[alt $= 'baizhan']").css("border","2px dashed pink")
    </script>
</body>
</html>

 jQuery 확장 선택기:

:eq(색인) :홀수 :짝수 :첫 번째 :마지막 :gt(색인) :lt(색인) 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./jquery-1.12.4.min.js"></script>
</head>
<body>
    <ul>
        <li>item 1</li>
        <li>item 2</li>
        <li>item 3</li>
        <li>item 4</li>
        <li>item 5</li>
        <li>item 6</li>
    </ul>

    <table border="1">
        <tr>
            <td>Row #1</td>
        </tr>
        <tr>
            <td>Row #1</td>
        </tr>
        <tr>
            <td>Row #1</td>
        </tr>
    </table>

    <table border="1">
        <tr>
            <td>item #0</td>
            <td>item #1</td>
            <td>item #2</td>
        </tr>
        <tr>
            <td>item #3</td>
            <td>item #4</td>
            <td>item #5</td>
        </tr>
        <tr>
            <td>item #6</td>
            <td>item #7</td>
            <td>item #8</td>
        </tr>
    </table>

    <script>
        // jQuery扩展选择器  :eq(index)
        // index 是下标,下标从0 开始
        $("li:eq(2)").css("border","2px dashed green")

        // jQuery扩展选择器  :even  偶数 从0开始
        $("li:even").css("border","3px solid red")

        // jQuery扩展选择器  :odd  奇数
        $("li:odd").css("border","2px dotted orange")

        // jQuery扩展选择器 :first  选择第一个(效果看第一个table)
        $("tr:first").css("background-color","orange")

        // jQuery扩展选择器  :last  选择最后一个(效果看第一个table)
        $("tr:last").css("background-color","greenyellow")

        // jQuery扩展选择器 :gt(index)  选择大于index的  (效果看第二个table)
        $("td:gt(5)").css("background-color","red")

        //jQuery扩展选择器 :lt(index)  选择小于index的  (效果看第二个table)
        $("td:lt(5)").css("background-color","pink")
    </script>
</body>
</html>

2. jQuery의 DOM 연산

js 작업 추가 클래스

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div class="container">Hello</div>

    <script>
        var div = document.getElementsByTagName("div")[0]
        // 增加class 会覆盖原来的class
        div.className = "text success"
        // 清空class如下
        div.className = ""
    </script>
</body>
</html>

 jQuery_DOM 작업이 클래스를 추가합니다.

        1.addClass(): 클래스 추가

        2.removeClass(): 클래스 제거

        3.toggleClass(): 클래스가 있는지 확인하여 있으면 삭제하고 없으면 추가합니다.

        4.hasClass(): 클래스가 있는지 확인하고 Boolean 값을 반환합니다.

<

추천

출처blog.csdn.net/weixin_69821704/article/details/128770987