侧边栏壁纸
  • 累计撰写 123 篇文章
  • 累计创建 27 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

jQuery

梁来福
2022-03-01 / 0 评论 / 0 点赞 / 0 阅读 / 21251 字
温馨提示:
本文最后更新于 2024-05-06,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

jQuery介绍

定义

image.png

作用

image.png

优点

image.png

jQuery的用法

jQuery引入

image.png

jQuery的入口函数

image.png

入口函数示例代码

<!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>
    <!-- 引入Jquery -->
    <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <!-- <script src="./jquery.min.js"></script> -->
    <!-- 使用jquery代码需要重新开一个script标签 -->
    <script>
        /*
        // 原生js写法
        window.onload = function(){
            // 当前页面的标签和标签使用的资源数据全都加载完成,onload事件才会触发
            var oDiv = document.getElementById("div1");
            alert(oDiv);
        };
        */

        // Jquery写法
        // $符号就是Jquery的象征
        // $符号本质就是一个函数
        // ready等待页面标签加载完成以后就执行ready事件,不会等待资源数据加载完成
        // $(document).ready(function(){
        //     // 获取标签和css样式匹配标签的规则一样
        //     // 以后使用Jquery,变量名都要以$符号开头
        //     var $div = $("#div1");
        //     alert($div)
        // });

        // jquery的简写方式
        $(function(){
            var $div = $("#div1");
            alert($div)
        })
    </script>
</head>
<body>
    <div id="div1" >梁来福</div>
    <img src="https://lmg.jj20.com/up/allimg/tp09/210611094Q512b-0-lp.jpg" alt="">
</body>
</html>

jQuery选择器

介绍

jQuery选择器就是快速选择标签元素,获取标签的,选择规则和css样式一样

种类

  • 标签选择器
  • 类选择器
  • id选择器
  • 层级选择器
  • 属性选择器

代码示例

image.png

<!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="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script>
        $(function(){
            // 标签选择器
            // 获取标签对象
            // var $p = $("p")
            // alert($p.length)
            // // 通过jQuery设置标签的样式
            // $p.css({"color": "green"});

            // // 类选择器
            // var $div = $(".div1");
            // alert($div.length)

            // // id选择器
            // var $div1 = $("#box1");
            // alert($div1.length)

            // // 层级选择器
            // var h1 = $("div h1");
            // alert(h1.length);

            // 属性选择器:先根据标签选择html标签,然后再根据属性值进行过滤标签
            var $input = $("input[type=button]");
            alert($input.length)
            // 结论:jQuery选择器获取标签,和css选择器匹配标签的方式一样
        });
    </script>
</head>
<body>
    <p>hello 标签选择器:来福</p> 
    <p>hello 标签选择器:来福</p> 

    <div class="div1">类选择器:梁来福</div>

    <div id="box1">id选择器:lianglaifu</div>

    <div><h1>层级选择器</h1></div>

    <input type="text">
    <input type="button">
</body>
</html>

说明

image.png

选择集

选择集过滤

介绍

选择集过滤就是在选择标签的集合里面过滤自己需要的标签

操作

image.png

代码示例

<!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="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script>
        $(function(){
            // 通过jQuery选择器获取html标签
            var $divs = $("div");
            // 获取包含有指定选择器的父标签
            $divs.has(".pname").css({"background": "green"})
            // 根据下标选择指定标签
            $divs.eq(1).css({"background": "blue"})
        });
    </script>
</head>
<body>
    <div>
        <p class="pname">哈哈</p>
    </div>
    <div>
        <input type="button" value="按钮">
    </div>
</body>
</html>

选择集转移

介绍

选择集转移就是以选择的标签为参照,然后获取转移后的标签

操作

image.png

代码示例

<!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="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script>
        $(function(){
            // 获取div,并把div作为参照物获取其他标签
            var $div = $("#box1")
            // 属性名和css里面的属性名保持一致
            // 选择上一个同级标签 font-size:字体大小
            $div.prev().css({"color": "red", "font-size": "25px"})
            // 选择上面所有的同级标签 text-indent:缩进
            $div.prevAll().css({"text-indent": "50px"})
            // 选择下一个同级标签 
            $div.next().css({"color": "green"})
            // 选择下面所有的同级标签
            $div.nextAll().css({"text-indent": "70px"})
            // 选择同级的其他标签 text-decoration:下划线
            $div.siblings().css({"text-decoration": "underline"})
            // 选择父标签 background:背景色
            $div.parent().css({"background": "gray"})
            // 获取所有子标签
            $div.children().css({"color": "green"})
            // 查找指定的子标签
            $div.find(".sp1").css({"color": "red"})
        })
    </script>
</head>
<body>
    <div>
        <h3>三级标题</h3>
        <p>梁来福</p>
        <div id="box1"><span>我是子标签1</span><span class="sp1">我是子标签2</span>我是一个div标签</div>
        <h3>三级标题</h3>
        <p>梁来福</p>
    </div>
</body>
</html>

页面展示

image.png

获取和设置标签内容

html方法的使用

jQuery中的html方法可以获取和设置标签的html内容

代码示例

<!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="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script>
        $(function(){
            // 获取标签
            var $div = $("div")
            // jQuery的方式获取标签内容
            alert($div.html());
            // 设置标签内容
            $div.html("<a href='https://www.baidu.com'>百度</a>")

            // 扩展:追加内容
            $div.append("<a href='https://www.baidu.com'>谷歌</a>")
        });
    </script>
</head>
<body>
    <div>梁来福</div>
</body>
</html>

获取和设置元素属性

prop方法的使用

之前使用css方法可以给标签设置样式属性,那么设置标签的其他属性可以使用prop方法

代码示例

<!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="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script>
        $(function(){
            // 获取标签
            var $p = $("p");
            var $text = $("#txt1");
            // 获取样式属性,比如:获取字体大小
            var $px = $p.css("font-size");
            alert($px);
            // 设置样式属性
            $p.css({"font-size": "40px", "background": "blue"});
            // 除了样式属性的相关操作使用css方法,其他属性的操作都是prop方法
            // 获取属性
            var $name = $text.prop("name");
            alert($name);
            var $type = $text.prop("type");
            alert($type);
            // 设置属性
            // $text.prop({"value": "张三", "class": "tname"});

            // 获取value属性可以使用val方法
            // alert($text.prop("value"));
            // 使用val方法获取value属性
            alert($text.val())
            // // 使用val方法设置value属性
            // $text.val("王五");
        });
    </script>
</head>
<body>
    <p>我是一个段落标签</p>
    <input type="text" name="username" id="txt1" value="梁来福">
</body>
</html>

jQuery常用的事件

常用事件

image.png

代码示例

<!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="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script>
        // 等页面加载完成以后获取标签元素
        // 方式一
        // $(document).ready(function(){

        // });
        // 方式二
        $(function(){
            // 获取ul里面的所有li标签
            var $lis = $("ul li");
            // 获取button标签
            var $btn = $("#btn1");
            // 获取text标签
            var $text = $("#txt1");
            var $div = $("div");
            // 添加点击事件
            $lis.click(function(){
                // 获取当前点击的标签对象
                // 方法一:原生js的写法
                // this.style.color = "blue";
                // 方法二:jQuery的写法
                $(this).css({"color": "red"});
                // 获取点击标签的索引
                alert($(this).index())
                });

                $btn.click(function(){
                    // 获取文本框的内容
                    alert($text.val())
            });

            // 给text文本框添加获取焦点事件
            $text.focus(function(){
                // 获取得到焦点的文本框,然后设置样式属性
                $(this).css({"background": "blue"})
            });
            // 给text文本框添加失去焦点事件
            $text.blur(function(){
                $(this).css({"background": "white"})
            });
            // 给div设置鼠标悬停(进入)事件
            $div.mouseover(function(){
                $(this).css({"background": "green"})
            });
            // 给div设置鼠标离开事件
            $div.mouseout(function(){
                $(this).css({"background": "white"})
            });  
        });
    </script>
</head>
<body>
    <div>
        <ul>
            <li>苹果</li>
            <li>香蕉</li>
            <li>草莓</li>
        </ul>
        <input type="text" id="txt1">
        <input type="button" id="btn1" value="点我啊">
    </div> 
</body>
</html>

事件代理

介绍

image.png

代码示例

<!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="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script>
        $(function(){
            // 通过事件代理,让父控件代理子控件的事件,然后执行子控件的相关操作
            var $ul = $("div ul");
            $ul.delegate("li", "click", function(){
                $(this).css({"color": "red"});
            });
            // 扩展:可以代理不同子控件的事件
            var $div1 = $("#box");
            // 可以代理不同子控件的事,多个选择器之间使用逗号分隔即可
            $div1.delegate("#p2,#btn2", "click", function(){
                alert("OK");
            });
        });
    </script>
</head>
<body>
    <div>
        <p id="p1">特工</p>
        <input type="button" value="点我" id="btn1">
        <ul>
            <li>特工二号</li>
            <li>特工三号</li>
            <li>特工四号</li>
            <li>特工五号</li>
        </ul>
    <div id="box">
        <p id="p2">特工</p>
        <input type="button" value="点我" id="btn2">
    </div>
    </div>
</body>
</html>

自定义JavaScript对象

介绍

image.png

JavaScript创建对象操作

方式

  • 通过顶级Object类型来实例化一个对象
  • 通过对象字面量创建一个对象

Object类型代码示例

<!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>
        var oPerson = new Object();
        // 添加属性
        oPerson.name = "梁来福"
        oPerson.age = 1.2
        // 添加方法
        oPerson.show = function(){
            alert("我是一个好人")
        };
        // 通过对象获取属性和调用方法
        alert(oPerson.name);
        oPerson.show();
    </script>
</head>
<body>
  
</body>
</html>

字面量代码示例

<!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>
        var oCat = {
            // 属性
            name: "梁来福",
            age: 1.1,
            // 方法
            show:function(){
                alert("我是一只好猫");
            }
        }
        // 通过对象获取属性和调用方法
        alert(oCat.name + oCat.age);
        oCat.show();
    </script>
</head>
<body>
  
</body>
</html>

json数据格式的介绍

介绍

image.png

json的格式

1、对象格式

对象格式的json数据,使用一对大括号({}),大括号里面放入key:value形式的键值对,多个键值对使用逗号分隔

示例

{
"name":"tom",
"age":18
}

格式说明

json中的key属性名称和字符串值需要用双引号引起来,用单引号或者不用引号会导致读取数据错误

2、数组格式

数组格式的json数据,使用一对中括号([]),中括号里面的数据使用逗号分隔

示例

["tom",18,"programmer"]

实际开发中数据示例

image.png

json数据转换成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>
    <script>
        var oPerson = new Object();
        // 添加属性
        oPerson.name = "梁来福"
        oPerson.age = 1.2
        // 添加方法
        oPerson.show = function(){
            alert("我是一个好人")
        };
        // 通过对象获取属性和调用方法
        alert(oPerson.name);
        oPerson.show();
    </script>
</head>
<body>
  
</body>
</html> -->

<!-- <!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>
        var oCat = {
            // 属性
            name: "梁来福",
            age: 1.1,
            // 方法
            show:function(){
                alert("我是一只好猫");
            }
        }
        // 通过对象获取属性和调用方法
        alert(oCat.name + oCat.age);
        oCat.show();
    </script>
</head>
<body>
  
</body>
</html> -->


<!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>
        // 对象格式的json数据
        var sJson1 = '{"name":"梁来福", "age":1.1}';
        // 把json数据转成JavaScript对象
        var oPerson = JSON.parse(sJson1);
        console.log(oPerson);
        // 获取属性数据
        console.log(oPerson.name + oPerson.age);

        var sJson2 = '[{"name":"梁来福", "age":1.1}, {"name":"刘来福", "age":1.1}]'
        var aArray = JSON.parse(sJson2);
        console.log(aArray);
        // 通过下标获取指定js对象,然后通过js对象获取name属性
        var oPerson = aArray[1];
        console.log(oPerson.name);
    </script>
</head>
<body>
  
</body>
</html>

页面展示

image.png

ajax

ajax介绍

image.png

ajax的使用

jQuery将它封装成了一个方法$.ajax(),我们可以直接用这个方法来执行ajax请求

get请求代码示例

<!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="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script>
        // // 向web服务器发送ajax请求,本质是http协议请求
        // $.ajax({
        //     // 请求的资源地址(不指定ip地址和端口号表示请求本地)
        //     url: "data.json",
        //     // 请求方式
        //     type: "GET",
        //     // 指定对服务器数据的解析格式
        //     dataType: "JSON",
        //     // data:表示发送给web服务器的参数
        //     // 请求成功执行的函数
        //     success:function(data){
        //         console.log(data);
        //         // 数据请求回来以后可以绑定给html中的某个标签空间,实现局部刷新
        //     },
        //     // 请求失败执行的函数
        //     error:function(){
        //         alert("网络异常");
        //     },
        //     // 是否使用异步(默认异步)
        //     async:true
        // });
            // 简写方式
            $.get("data.json", {"name": "lianglaifu"}, function(data){
                // 如果按照json格式数据,js这块能得到一个JavaScript
                alert(data.name);
            }, "JSON").error(function(){
                alert("网络异常");
            });
    </script>
</head>
<body>
  
</body>
</html>

post请求代码示例

<!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="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script>
        // // 向web服务器发送ajax请求,本质是http协议请求
        // $.ajax({
        //     // 请求的资源地址(不指定ip地址和端口号表示请求本地)
        //     url: "data.json",
        //     // 请求方式
        //     type: "GET",
        //     // 指定对服务器数据的解析格式
        //     dataType: "JSON",
        //     // data:表示发送给web服务器的参数
        //     // 请求成功执行的函数
        //     success:function(data){
        //         console.log(data);
        //         // 数据请求回来以后可以绑定给html中的某个标签空间,实现局部刷新
        //     },
        //     // 请求失败执行的函数
        //     error:function(){
        //         alert("网络异常");
        //     },
        //     // 是否使用异步(默认异步)
        //     async:true
        // });
            // 简写方式
            // 如果请求的是自己的web服务器数据可以不写http协议地址,请求别人的需要加上地址
            $.post("data.json", {"name": "lianglaifu"}, function(data){
                // 如果按照json格式数据,js这块能得到一个JavaScript
                alert(data.name);
            }, "JSON").error(function(){
                alert("网络异常");
            });
    </script>
</head>
<body>
  
</body>
</html>
0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin
博主关闭了所有页面的评论