前端Jquery详细教程

Posted 孤寒者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端Jquery详细教程相关的知识,希望对你有一定的参考价值。


       👇
👉🚔直接跳到末尾🚔👈 ——>领取专属粉丝福利💖
       ☝️


 👻我又仔细想了想,html、CSS、javascript系列都做了,怎么能缺少Jquery呢?👻

 😬所以!本博主又加班加点产出了Jquery版本的入门级教程!!!😬

 😜在本篇博文中,本博主就带领小伙伴们认真地学习一下Jquery~😜


重点来啦!重点来啦!!💗💗💗
小伙伴们,快拿出你们的笔记本,开始上课啦!(要打起十足的精神哦~)

第一部分:JQ是什么?

  1. 什么是JQ?
    JQ是JS写的插件库,说白了,就是一个js文件。

  2. JS和JQ的区别:
    凡是用jq能实现的,js都能实现;js能实现的,jq却不一定能实现。可以理解为js是jq他爹,爹会的比儿子多~

  3. JQ的理念:
    Write less,do more!

1.JQ的引入:

JQuery官方网址:https://www.bootcdn.cn/jquery/
进入JQ官网之后:

我们选择第二个或者第三个都可以,第一个和最后两个只是JQ的部分,有些功能没有。
第二个和第三个的区别:第二个是正常版;第三个是压缩版。

(本人运营微信公众号:孤寒者)
(欢迎喜欢Python,喜欢编程的小伙伴们的关注哦~)

(1)第一种引入方式:网址引入!

选择第二个或者第三个两个选项都可以,效果一样!

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JQ的引入</title>
</head>
<body>

<!--第一种方法:网址引入-->
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
<script>
    // $是JQ里面的代表符号
    $(function ()          //如果页面弹出123,则证明引入JQ正常!
        alert(123)
    )
</script>

</body>
</html>

(2)第二种引入方式:本地引入!

直接将JQuery复制粘贴到本地保存即可!

<script src="本地的Jquery地址"></script>

2.JQ的选择器:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JQ的选择器</title>
</head>
<body>

<p>我是一个段落标签</p>

<script src="JQuery.js"></script>

<script>
    // JQ选择器获取元素的方法和CSS一模一样!!!     固定格式:$("")  双引号里面写选择器!!!
    $("p").click(function ()       //注意:JQ里的单击事件是click,注意这个写法和JS是有所不同的!
        alert("我出来了");
    );
</script>

</body>
</html>
(本人运营微信公众号:孤寒者)
(欢迎喜欢Python,喜欢编程的小伙伴们的关注哦~)

第二部分:基本使用

(效果都很直观,自己动手实操哦~一步步琢磨,有不懂的可以文末公众号咨询!)

1.基本使用一

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JQ的基本使用一</title>
</head>
<body>

<div>
    <p id="p1">我是段落</p>
    <p id="p2">我是段落666</p>
</div>

<script src="JQuery.js"></script>

<script>
    //                                       1.修改内容
    // JS的写法
    var p = document.getElementById("p1");
    p.innerText = "我不是段落";
    // JQ的写法
    $("#p1").text("我不是段落1");
    $("#p1").html("我就是段落2");

    //                                       2.JQ和JS相互转换
    // JQ转JS        $("#p1")是JQ的获取元素;  .get([0])是将JQ转换为JS;  innerText = "111"是使用JS方法。
    $("#p1").get([0]).innerText = "111";
    $("#p1")[1].innerText = "222";
    // JS转JQ        先是JS的方法获取元素;    $(p11)是将JS转换为JQ;      text("123")是使用JQ方法。
    var p11 = document.getElementById("p1");
    $(p11).text("123");

    //                                       3.单击事件
    // 如果不加下标,JQ可以同一时间给多个元素设置同一事件;下面代码会给选中的两个段落标签都设置单击事件;但是JS就不行,需要加下标!
    // 如果只想选中段落标签里的某一个,那就加下标  .eq(下标)     加在获取元素之后。  即$("p")之后!
    $("p").click(function () 
        alert(456);
    );

    //                                       4.鼠标滑入滑出事件
    $("#p1").hover(function () 
        $("#p1").text(111);
    ,function ()             //如果只写第一个函数,就只是鼠标滑入事件;两个都写,就是滑入滑出事件。
        $("#p1").text(222);
    );

    //                                       5.追加和添加       注意:这是加到p1标签里面,是p1的子元素!!!
    $("#p1").append("<p>111</p>");          //追加     后缀
    $("#p1").prepend("<p>222</p>");         //添加     前缀

    //                                       6.前和后           注意:这里加之后是p1的同级标签,是p1的兄弟元素。
    $("#p1").after("<p>333</p>");
    $("#p1").before("<p>444</p>");

    //                                       7.清空           清空所选元素里面的所有东西(包括文本内容和标签)
    $("div").empty();

    //                                       8.移除           清空所有,包括自己本身以及其内所有东西!
    $("div").remove();

</script>
</body>
</html>
(本人运营微信公众号:孤寒者)
(欢迎喜欢Python,喜欢编程的小伙伴们的关注哦~)

2.基本使用二

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JQ的基本使用二</title>

    <style>
        div
            width: 1200px;
            height: 1200px;
        
    </style>

</head>
<body>

<div>
    <p id="p1">我是段落1</p>
    <p id="p2">我是段落2</p>
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
    </ul>
</div>

<script src="JQuery.js"></script>

<script>

            // 操作标签属性
            // 第一部分:自定义属性
    // 1.增加属性
    $("div").attr("id","div1");
    // 2.改变属性
    $("div").attr("id","div2");
    // 3.删除属性
    $("div").removeAttr("id");
    // 4.查
    console.log($("div").attr("id"));
            // 第二部分:合法属性
    // 1.增加属性
    $("div").addClass("div1");
    // 要注意:常规的如果增加重复标签属性就是变相的改,但是此处不是改,仍然是增,一个class可以对应多个值!!!
    $("div").addClass("div2");
    // 2.修改属性       得先删然后增,变相的改!
    $("div").removeClass("div1").addClass("div2");
    // 3.删除属性
    $("div").removeClass("div2");
    // 查
    console.log($("div").hasClass("div2"));
    // 注意:如果只是删除属性,那么只是删除了属性对应的属性值,属性名还会存在
    $("div").removeClass("div2");       //就像这样,删的不彻底哎,所以用下面的移除方法:
    $("div").removeAttr("class");       //这样就删除的很彻底了! 属性名也没了!

            // 遍历
    $("li").each(function () 
        alert($(this).text());                //this代表当前元素。
    );

            //索引                获取当前文本的下标!
    $("li").click(function () 
        alert($(this).index());
    );

            //滚动条事件         scroll()里面写函数,当网页的滚动条发生变化时,执行其内的函数!
    $(window).scroll(function () 
        console.log("顶部:"+$(document).scrollTop());         //弹出滚动条相对于浏览器顶部的偏移
        console.log("左边:"+$(document).scrollLeft());        //弹出滚动条相对于浏览器左边的偏移
    )

</script>

</body>
</html>

3.基本使用三

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JQ的基本使用三</title>

    <style>
        div
            position: relative;
        
    </style>

</head>
<body>

<div>
    <p id="p1">我是段落1 </p>
    <p id="p2">我是段落2 </p>
    <p>我是段落</p>
    <p>我是段落</p>
    <p>我是段落</p>
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
    </ul>
    <button id="btn1">移除事件</button>
</div>

<script src="JQuery.js"></script>

<script>
            // 查找父元素
    console.log($("#p1").parent());      //div
            // 查找子元素
    console.log($("div").children());
            // 查找兄弟元素
    console.log($("#p1").siblings());
            // 查找后代元素  必须要指明要查找的是哪个后代,不然查找不到哦!
    console.log($("div").find("p"));
            //查找祖先元素
    console.log($("div").parents());      //body  html

            // 定位父级(绝对定位,参考对象是设置了定位的父级,没有即为浏览器)   当前元素距离它父级的位置,单位是px
    var box = $("#p1").position();    //id为p1的标签的父级是div,而且我们给div设置了定位,所以绝对定位参考对象是div。
    console.log(box.left);            //0px
    console.log(box.top);             //-16px
            //定位窗口            相对于当前文档偏移的坐标!        注意:如果定位父级的父级没有设置定位,那么这两个定位效果一样!
    var box1 = $("div").offset();
    console.log(box1.left);           //8
    console.log(box1.top);            //16

            // 宽高
    console.log($("div").width());
    console.log($("div").height());

            // 循环添加    添加的是事件
    $("p").on("click",function () 
        $(this).css("background-color","red");      //.css是JQ里设置样式的方法
    );
            //移除         移除的也是事件。注意:移除的是后续的事件。
    //比如:下面是通过点击按钮移除上面的循环添加事件,在没有点击按钮之前事件可以执行,如果点击按钮,也只是后续事件,
    //再点击按钮之后事件不能实现,但是之前实现的事件仍存在!
    $("#btn1").click(function () 
        $("p").off("click");
    );

</script>

</body>
</html>
(本人运营微信公众号:孤寒者)
(欢迎喜欢Python,喜欢编程的小伙伴们的关注哦~)

第三部分:操作样式

<!DOCTYPE html>
<html lang="en">
<headWeb前端: JQuery最强总结(每个要点都附带完全案例 详细代码!)

Web前端: JQuery最强总结(每个要点都附带完全案例 详细代码!)

前端基础进阶(11):详细图解jQuery对象,以及如何扩展jQuery插件

《前端系列教程》目录

手把手带你入门前端工程化——超详细教程

前端培训教程 jquery半透明设置