当前位置: 首页 > 工具软件 > Smoke jQuery > 使用案例 >

Jquery&Ajax

秦博达
2023-12-01

Jquery&Ajax

第1章 Jquery概述

1.1 jquery介绍
JQuery是对js语言进行的封装,使代码更加简洁(宗旨:Write Less,Do More!)
1.2 jquery版本
JQuery有三大版本:
a.1.x版本(目前用途最广泛)
b.2.x版本(不兼容IE678,用的很少)
c.3.x版本(即不兼容IE678,而且其他浏览器必须也是最新)  
JQuery的命名是非常规范:
	JQuery-版本号.js(开发版本)
    JQuery-版本号-min.js(生成版本)    

第2章Jquery基本语法

2.1 jquery环境引入
引入格式:
	<head>
        <meta charset="UTF-8">
        <title>1.JQuery的引入</title>
        <!--引入JQuery文件-->
        <script type="text/javascript" src="../js/jquery-1.11.3.js"></script>
    </head>
2.2 jquery基础语法
a.基本语法_页面加载事件
<head>
    <meta charset="UTF-8">
    <title>2.JQuery基础_页面加载事件</title>
    <!--引入JQuery文件-->
    <script type="text/javascript" src="../js/jquery-1.11.3.js"></script>

    <!--我们要编写jQuery/js代码,必须再写一个<script标签>不能在引入的那个<script>写代码-->
    <script type="text/javascript">
        /*1.页面加载事件*/
        /*js版本的页面事件*/
        window.onload = function () {
            //页面加载完毕
            alert("js的页面加载完毕事件")
        }
        /*jQuery的页面事件-完整格式*/
        $(document).ready(function () {
            //页面加载完毕
            alert("jQuery的页面加载完毕事件")
        })
        /*jQuery的页面事件-简化格式*/
        $(function () {
            alert("jQuery的页面加载完毕事件-----")
        })
    </script>
</head>    
            
            
b.基础语法_获取标签对象
     <head>
        <meta charset="UTF-8">
        <title>1.JQuery的引入</title>
        <!--引入JQuery文件-->
        <script type="text/javascript" src="../js/jquery-1.11.3.js"></script>

        <script type="text/javascript">
            //页面加载事件
            $(function () {
                /*1.获取标签对象-js*/
                // document.querySelector("img");
                // document.querySelector(".imgClass");
                // let imgObj = document.querySelector("#imgID");
                // imgObj.src = "../img/11.png"
                /*2.获取标签对象-jQuery*/
                // $("img")
                // $(".imgCLass")
                let $imgObj = $("#imgID");
            });
        </script>

    </head>
    <body>
        <img class="imgClass" id="imgID" src="../img/1.png" width="50%"/>
    </body>       
2.3 jquery对象与dom对象的区别
a.通过js获取的对象,我们称为js对象
    通过jQuery获取的对象,我们称为jQuery对象
  这两个对象,虽然代表的标签是一样的,但是这两个对象的函数时不通用!!!
    
b.js对象和jQuery对象能相互转换吗???   "a" --> ["a"]
     js对象 ---> jQuery对象 : let $对象 = $(js对象)
     JQuery对象 --> js对象:  let js对象 = $对象[0]
注意: JS对象只能访问js的属性和函数,JQuery对象只能访问jQuery的属性和函数
    	千万不能混用!!!!
    <script type="text/javascript">
        //页面加载事件
        $(function () {
            //获取div-jQuery
            let $divObj = $("div");
            console.log($divObj.text());;
            console.log($divObj.html());
            //获取div-js
            let divObj = document.querySelector("div");
            console.log(divObj.innerText);
            console.log(divObj.innerHTML);

            //js对象和jquery对象的转换
            console.log($divObj);
            console.log(divObj)
            //jQUery-->js对象
            let divObj1 = $divObj[0];
            //js -->jQuery对象
            let $divObj1 = $(divObj);
            console.log(divObj1);
            console.log($divObj1);
        });
    </script>                  

第3章 Jquery选择器

js中: document.querySelector("css的选择器");
jQuery中: $("css的选择器");
3.1 基本选择器
<head>
    <meta charset="UTF-8">
    <title>1.JQuery的引入</title>
    <!--引入JQuery文件-->
    <script type="text/javascript" src="../js/jquery-1.11.3.js"></script>

    <script type="text/javascript">
        /*jQuery的选择器*/
        //1.页面加载事件
        $(function () {
            //2.标签选择器
            let $spanObjs = $("span");
            console.log($spanObjs.text());
            //3.类选择器
            let $spanFemales = $(".female");
            console.log($spanFemales.text());
            //4.id选择器
            let $spanObj = $("#main");
            console.log($spanObj.text());
        });
    </script>
</head>
<body>
    <span class="female">古力娜扎</span>
    <span class="female">迪丽热巴</span>
    <span class="female">新垣结衣</span>
    <span class="female">岛琦结衣</span>
    <span class="female hero">郭俊卿</span>
    <span class="male hero">杨思根</span>
    <span class="male hero">黄继光</span>
    <span class="hero">郑成功</span>
    <span id="main">主城</span>
    <span id="east">东港</span>
</body>
3.2 层级选择器
并列选择器: (选择器1,选择器2)
后代选择器: (选择器1 选择器2)
<head>
    <meta charset="UTF-8">
    <title>1.JQuery的引入</title>
    <!--引入JQuery文件-->
    <script type="text/javascript" src="../js/jquery-1.11.3.js"></script>

    <script type="text/javascript">
        //1.页面加载事件
        $(function () {
           //2.并列选择器
           let $allObjs = $("#gbl,.jjx");
           console.log($allObjs.text());
           //3.后代选择器
           let $divspanObj = $("div span");
           console.log($divspanObj.text());

        });
    </script>
</head>
<body>
    <div>
        <span>烟幕弹</span>
        <p>
            <span id="gbl">高爆雷</span>
        </p>
    </div>
    <p class="jjx">急救箱</p>
    <span id="cld">催泪弹</span>
</body>
3.3 属性选择器
属性选择器: [属性名='属性值']

注意:属性选择器可以有以下几种写法:
	[属性名]: 选择所有标签,只要含有该属性即可
	[属性名='属性值']:选择所有标签,只要其属性名=属性值即可
	标签[属性名='属性值']:选择某种标签,要求其属性名=属性值
	标签[属性名1='属性值1'][属性名2='属性值2']:选择某种标签,要求其属性名1=属性值1,并且属性名2=属性值2

<head>
    <meta charset="UTF-8">
    <title>1.JQuery的引入</title>
    <!--引入JQuery文件-->
    <script type="text/javascript" src="../js/jquery-1.11.3.js"></script>

    <script type="text/javascript">
        /*jQuery的选择器*/
        //1.页面加载事件
        $(function () {
           //2.属性选择器
           let $nameObjs = $("[name]");
           console.log($nameObjs.length);

           let $nameObjs1 = $("input[name]");
           console.log($nameObjs1.length);

            let $nameObjs2 = $("input[name='userName']");
            console.log($nameObjs2.length);

            let $nameObjs3 = $("input[name='userName'][type='text']");
            console.log($nameObjs3.length);
        });
    </script>
</head>
<body>
    <label for="userName">姓名</label>
    <input id="userName" type="text" name="userName" value="超级管理员"/><br/>
    <label>密码</label>
    <input type="password" name="userPass" value="123456"/><br/>
</body>
3.4 对象遍历
JS中的三种遍历:
	fori,forin,forof
jQuery的遍历方式:
	//第一种,调用$对象的each方法
	$对象.each(function(i,e){
        //遍历jQuery对象,function中有2个参数
        //a.i代表当前遍历出的标签对象索引值
        //b.e代表当前遍历出的标签对象(js对象)
       
    });

	$对象.each((i,e)=>{
        //遍历jQuery对象,function中有2个参数
        //a.i代表当前遍历出的标签对象索引值
        //b.e代表当前遍历出的标签对象(js对象)
       
    });
	//第二种,调用$.each()方法
	$.each($对象,function(i,e){
        //遍历jQuery对象,function中有2个参数
        //a.i代表当前遍历出的标签对象索引值
        //b.e代表当前遍历出的标签对象(js对象)  
    })
        
    $.each($对象,(i,e)=>{
        //遍历jQuery对象,function中有2个参数
        //a.i代表当前遍历出的标签对象索引值
        //b.e代表当前遍历出的标签对象(js对象)  
    }) 
        
    //其他奇葩的方式
    $对象.each(function(){
        this.innerText;
        $(this).text()
    })    
 
    <head>
        <meta charset="UTF-8">
        <title>8.jQuery的遍历</title>
        <!--引入JQuery文件-->
        <script type="text/javascript" src="../js/jquery-1.11.3.js"></script>

        <script type="text/javascript">
            //1.页面加载
            $(function () {
               //2.获取<li>标签
               let $lis = $("li");
               //3.$对象.each(function)
               $lis.each(function (i, e) {
                   console.log(i);
                   console.log(e);
                   console.log(e.innerText);
                   console.log($(e).text());
               });
               console.log("--------------");
               //$.each($对象,function); 
               $.each($lis,function (i, e) {
                   console.log(i);
                   console.log(e);
                   console.log(e.innerText);
                   console.log($(e).text());
               });
                console.log("--------------");
                //4.each遍历:函数式编程
                $lis.each((i, e) => {
                    console.log(i);
                    console.log(e);
                    console.log(e.innerText);
                    console.log($(e).text());
                });
                //5.fori遍历
                console.log("--------------");
                for(let i = 0;i < $lis.length;i++) {
                    let liObj = $lis[i];
                    console.log(liObj.innerText);
                }
                console.log("--------------");
                //6.forof
                for(let liObj of $lis.toArray()){
                    console.log(liObj.innerText);
                }
            });
        </script>
    </head>
    <body>
        <ul id="city">
            <li>北京</li>
            <li>上海</li>
            <li>天津</li>
            <li>重庆</li>
        </ul>
    </body>        

第4章 Jquery的dom操作

4.1 jquery操作内容
js中操作内容:
	js对象.innerText = 值;
	js对象.innerHtml = 值;
jQuery中操作内容:
	$对象.text("值");
	$对象.html("值");
<head>
    <meta charset="UTF-8">
    <title>9.jQuery操作元素内容</title>
    <script type="text/javascript" src="../js/jquery-1.11.3.js"></script>

    <script type="text/javascript">
        $(function () {
           //1.获取span
            console.log($("span").text());
            console.log($("span").html());
            $("span").text("<h2>花果山</h2>");
            $("span").html("<h2>花果山</h2>");
           //2.获取div
            console.log($("div").text());
            console.log($("div").html());
            $("div").text("<h2>水帘洞</h2>");
            $("div").html("<h2>水帘洞</h2>");
        });
    </script>
</head>
<body>
    <span>花果山</span>
    <div><h1>水帘洞</h1></div>
</body>
4.2 jquery操作属性
js中操作属性:
	js对象.原生属性名 = 值;
	js对象.getAttribute(自定义属性名);
	js对象.setAttribute(自定义属性名,属性值);
	js对象.removeAttribute(自定义属性名);
jQuery中操作属性:
	$对象.prop("原生属性名"[,"属性值"]);
	$对象.attr("自定义属性名"[,"属性值"]);
	特殊的属性value,使用特殊的方法
    $对象.val([值]); 给value属性赋值或者取值   
        
<head>
    <meta charset="UTF-8">
    <title>10.jQuery操作元素属性</title>
    <script type="text/javascript" src="../js/jquery-1.11.3.js"></script>

    <script type="text/javascript">
        //1.页面加载事件
        $(function () {
            //2.$对象.val()
            console.log($("input[type='password']").val());
            $("#userName").val("超级管理员");

            console.log("value="+$("#userEdu").val());
            console.log("value="+$("#userEdu").val(1));

            //3.$对象.prop(原生属性名);
            $("#male").prop("checked","checked");
            $("input[type='checkbox']").prop("checked","checked");
            //4.$对象.attr(自定义属性)
            $("input[type='file']").attr("data","123321");
            console.log($("input[type='file']").attr("data"));

        })
    </script>
</head>
<body>
    <form action="#" method="get">
        <input type="text" name="userId" value="007" hidden="hidden" id="userId"/><br/>
        姓名<input type="text" name="userName" value="管理员" id="userName" data-msg="哈哈哈"/> <br/>
        密码<input type="password" name="userPass" value="123" disabled id="userPass"/><br/>
        生日<input type="date" name="userBirth" disabled="disabled" id="userBirth"/><br/>
        性别<input type="radio" name="gender" value="male" id="male"/>男&emsp;
            <input type="radio" name="gender" value="female" id="female"/>女<br/>
        爱好<input type="checkbox" name="hobby" value="smoke" id="smoke"/>
            <label for="smoke">抽烟&emsp;</label>
            <input type="checkbox" name="hobby" value="drink" id="drink"/>
            <label for="drink">喝酒&emsp;</label>
            <input type="checkbox" name="hobby" value="perm"  id="perm"/>
            <label for="perm">烫头&emsp;</label><br/>
        头像<input type="file" name="userPic"/><br/>
        学历<select name="userEdu" id="userEdu">
                <option value="">-请选择-</option>
                <option value="1">小学</option>
                <option value="2" selected>初中</option>
                <option value="3">高中</option>
            </select>
    </form>
</body>	
4.3 jquery操作样式
js中操作样式:
	a.单个样式: js对象.style.样式名 = 样式值;
	b.批量操作: js对象.style.cssText = "css的多个样式";
	c.操作类型: js对象.className = "类名";
	d.批量操作: js对象.classList 获取类名的集合,然后通过add,remove,toggle,contains
jQuery中操作样式:
	a.单个样式: $对象.css("样式名"[,"样式值"]);
	b.批量操作: $对象.css({"样式1":"值1","样式2":"值2",...});
	c.操作类名: $对象.addClass(类名) 
				$对象.removeClass(类名) 
				 $对象.toggleClass(类名) 

<head>
    <meta charset="UTF-8">
    <title>11.JQuery操作元素样式</title>
    <style>
    #p1 {
        background-color: red;
    }

    .mp {
        color: green
    }

    .mpp {
        background-color: lightgray;
    }
    </style>
    <script type="text/javascript" src="../js/jquery-1.11.3.js"></script>

    <script type="text/javascript">
        //1.加载
        $(function () {
            //2.单个样式
            console.log($("#p1").css("background-color"));
            $("#p1").css("background-color","blue");
            //3.批量样式
            $("#p2").css({"color":"yellow","font-size":"50px","background-color":"black"});
            //4.类名操作
            $("#p3").addClass("mp");
            $("#p3").removeClass("mpp");
            $("#p4").toggleClass("mp");
            $("#p4").toggleClass("mp");
        })
    </script>
</head>
<body>
    <p id="p1">1. 设置一个css样式</p>
    <p id="p2">2. 批量设置css样式</p>
    <p id="p3" class="mpp">3. 通过class设置样式</p>
    <p id="p4">4. 切换class样式</p>
</body>
4.4 jquery操作元素
js中操作元素:
	添加元素: js对象.innerHtml += "新的标签";
	删除元素: js对象.innerHtml/outerHtml = "";
jQuery中操作元素:
	添加元素:
			$对象.html($对象.html()+"新的标签");
	删除元素:
			$对象.html("");
	1. $(标签) 创建一个标签 
	2. $.prepend() 在内部前面插入元素 
	3. $.append() 在内部后面追加 
	4. $.empty() 清空内容 
	5. $.remove() 删除自己

<head>
    <meta charset="UTF-8">
    <title>12.JQuery操作元素</title>
    <script type="text/javascript" src="../js/jquery-1.11.3.js"></script>

    <script type="text/javascript">
        //1.加载
        $(function () {
            // 1.前面添加幼稚园选项
            let $optionObj = $("<option value='0'>幼稚园</option>");
            $("#userEdu").prepend($optionObj);
            // 2.后面添加大学选项
            let $optionObj1 = $("<option value='4'>大学</option>");
            $("#userEdu").append($optionObj1);
            // 3.移出所有选项
            $("#userEdu").empty();
            // 4.删除下拉列表
            $("#userEdu").remove();
        });
    </script>
</head>
<body>
    <form action="#" method="get">
        学历
        <select name="userEdu" id="userEdu">
            <option value="1">小学</option>
            <option value="2">初中</option>
            <option value="3">高中</option>
        </select>
    </form>
</body>

扩展:jQuery动画
	$对象.show();
	$对象.hide();

	$对象.slideUp()
	$对象.slideDown()

	$对象.fadeIn()
	$对象.fadeOut()
	
	$对象.fadeTo(时间,透明度)
<head>
    <meta charset="UTF-8">
    <title>13.JQuery的动画</title>
    <!--引入JQuery文件-->
    <script type="text/javascript" src="../js/jquery-1.11.3.js"></script>

    <script type="text/javascript">
        function xianshi() {
            // $("#imgID").show();
            // $("#imgID").slideDown();
            $("#imgID").fadeIn();
        }

        function yincang() {
            // $("#imgID").hide();
            // $("#imgID").slideUp();
            // $("#imgID").fadeOut();
            $("#imgID").fadeTo(3000,0.1);
        }
    </script>
</head>
<body>
    <img id="imgID" src="../img/11.png" width="30%"></br>
    <input type="button" value="点我显示" onclick="xianshi()">
    <input type="button" value="点我隐藏" onclick="yincang()">
</body>

第5章 jQuery 绑定事件

5.1 jquery绑定事件
js中的事件绑定:
	js对象.on事件名 = function(){}
jQuery中的事件绑定:
	$对象.事件名(function(){})
	其他两种方式:
	$对象.on("事件名",function(){})
	$对象.off("事件名"); 解绑事件,只能解绑由上面on方式绑定的事件
	还有事件触发:
	$对象.事件名(); 触发该事件(自动化测试)  
	
<head>
    <meta charset="UTF-8">
    <title>1.JQuery的引入</title>
    <!--引入JQuery文件-->
    <script type="text/javascript" src="../js/jquery-1.11.3.js"></script>
    <script type="text/javascript">
        function offevent() {
            alert("段落3...")
        }

        $(function () {
            //1.$.事件名(函数)
            $("#p1").click(function () {
                alert("段落1被点击了.")
            });
            //2.$.on("事件名",函数)
            $("#p2").on("click",function () {
                alert("段落22222...");
            })

            $("#p3").on("click",function () {
                alert("段落3333...");
            })
            //3.$.off("事件名");
            $("#p3").off("click");
            //4.$.事件名();
            $("#p1").click();
        });
    </script>
</head>
<body>
    <p id="p1">我是段落1</p>
    <p id="p2">我是段落2</p>
    <p id="p3">我是段落3解绑定事件</p>
</body>
5.2 常用事件
1. ready 页面加载完成(jQuery的加载事件,不仅语法简单,而且可以绑定多个函数,js不行!!!) 
2. blur 失去焦点 
3. change 表单控件的value值改变时 
4. mouseover mouseout hover 鼠标移入移出 
5. click 单击

<head>
    <meta charset="UTF-8">
    <title>1.JQuery的引入</title>
    <!--引入JQuery文件-->
    <script type="text/javascript" src="../js/jquery-1.11.3.js"></script>

    <script type="text/javascript">
        // 1. ready 页面加载完成
        $(document).ready(function () {
            alert("页面OK了111");
        });
        $(function () {
            alert("页面OK了111");
        })
        // 2. blur 失去焦点  focus自己练习
        $(function () {
            $("#userName").blur(function () {
                alert("输入框失去焦点了..");
            })
        })
        // 3. change 表单控件的value值改变时
        $(function () {
            $("#userEdu").change(function () {
                alert("下拉框的值改变了..."+this.value)
            })
        })
        // 4. mouseover mouseout hover 鼠标移入移出
        $(function () {
            $("#city").mouseover(function () {
                // this.style.backgroundColor = "yellow";
                $(this).css("backgroundColor","yellow");
            });

            $("#city").mouseout(function () {
                // this.style.backgroundColor = "pink";
                $(this).css("backgroundColor","pink");
            });
            //hover = mouseover+mouseout
            $("#imgID").hover(
                function () {
                    $(this).fadeTo(2000,0.1);
                },
                function () {
                    $(this).fadeTo(2000,1.0);
                }
            );
        })
        // 5. click 单击
        $(function () {
            $("#btn").click(function () {
                alert("我点....")
            });
        })
    </script>
</head>
<body>
    <h1 id="h1">我是大标题</h1>
    姓名<input type="text" name="userName" id="userName"/><br/>
    学历
    <select name="userEdu" id="userEdu">
        <option value="1">小学</option>
        <option value="2">初中</option>
        <option value="3">高中</option>
    </select>
    <ul id="city" style="background-color: green">
        <li>北京</li>
        <li>上海</li>
        <li>天津</li>
        <li>重庆</li>
    </ul>
    <img src="../img/11.png" width="20%" id="imgID">
    <input  type="button" id="btn" value="点击按钮"></input>
</body>

第6章 Ajax概述

6.1 作用介绍
发送异步请求:
	发送请求后,我们可以干其他事情,当请求有了结果(响应)了,自动回调一个函数
6.2 适用场景
1.百度搜索(京东搜索,淘宝搜索)
2.用户名注册

第7章 原生JS异步通信(了解)

7.1 js原生ajax实现(了解)
<head>
    <meta charset="UTF-8">
    <title>16.(了解)js的原生ajax</title>
    <script type="text/javascript" src="../js/jquery-1.11.3.js"></script>
    <script type="text/javascript">
        function doAjax() {
            //使用原生js发送ajax
            //1.创建异步请求的发送引擎
            let http = new XMLHttpRequest();
            //2.绑定引擎的状态改变事件
            http.onreadystatechange = function () {
                //3.当请求已经接受,并且状态为200(成功!!!)
                if(http.readyState == 4 && http.status == 200){
                    let res = http.responseText;
                    console.log("res="+res);
                }
            }
            //3.绑定请求地址和请求方式
            http.open("get","../data/demo20.txt",true);
            //4.发送请求
            http.send();//开始发送数据
            //.....
        }
    </script>
</head>
<body>
    <img src="../img/111.png" onclick="doAjax()" width="30%">
</body>

第8章 Jquery的Ajax插件

8.1 jquery的Ajax语法
jQuery的ajax有三种方式:
	完整格式(最常用):
	$.ajax({
        type:"get/post", -- 请求方式
		url:"www.baidu.com", -- 请求路径
        dataType: "text/json", -- 预期服务器返回的数据类型
		data: "age=18&name='张三'"或者json对象, -- 给服务器发送的数据
		async: true, -- 表示是否使用异步
		success:function(data){}, -- 表示成功之后的回调函数,参数是服务器响应的数据 
		error:function(err){} -- 表示请求失败后的回调函数,参数是失败的详细信息
    });
	两种省略格式(不是很常用):
	$.get(url,data,function(data){});
	$.post(url,data,function(data){});	
8.2 jquery的ajax
<head>
    <meta charset="UTF-8">
    <title>17.jQuery的ajax</title>
    <script type="text/javascript" src="../js/jquery-1.11.3.js"></script>
    <script type="text/javascript">
        /*完整的ajax*/
        function doAjax() {
            $.ajax({
                type:"get",
                url:"../data/student.txt",
                // data:"要发送的数据"
                dataType:"json",
                async:true,
                success:function (data) {
                    console.log("请求成功:");
                    for(let key in data){
                        console.log(key+".."+data[key]);
                    }
                },
                error:function (err) {
                    console.log("请求失败:"+err);
                }
            });
        }
        function doAjax02() {
            $.ajax({
                type:"get",
                url:"../data/data.txt",
                // data:"要发送的数据"
                dataType:"json",
                async:true,
                success:function (data) {
                    console.log("请求成功:");
                    for(let d of data){
                        console.log(d);
                    }
                },
                error:function (err) {
                    console.log("请求失败:"+err);
                }
            });
        }
        /*get的ajax*/
        function doGet() {
            $.get("../data/demo20.txt",null,function (data) {
                console.log("请求成功:"+data);
            });
        }
        /*post的ajax*/
        function doPost() {
            $.post("../data/demo20.txt",null,function (data) {
                console.log("请求成功:"+data);
            });
        }
    </script>
</head>
<body>
    <input type="button" value="发送完整的jQuery的Ajax" id="btn1" onclick="doAjax()"/><br/>
    <input type="button" value="发送get方式的Ajax" id="btn2" onclick="doGet()"/><br/>
    <input type="button" value="发送post方式的Ajax" id="btn3" onclick="doPost()"/><br/>
</body>

第9章 异步通信综合案例

9.1 案例 搜索候选
<body>
    <div class="content">
         <input type="text" name="word" onkeyup="searchWord(this)">
         <input type="button" value="搜索一下">
         <div class="show" id="show">
         </div>
    </div>
    <script type="text/javascript">
        function searchWord(obj) {
            //发送ajax,得到结果之后,找出以obj.value开头的字符串
            //1.发送ajax
            $.ajax({
                type:"get",
                url:"../data/data.txt",
                // data:null,
                dataType:"json",
                async:true,
                success:function (data) {
                    console.log(data);
                    //清空
                    $("#show").empty();
                    $("#show").slideUp();
                    //遍历
                    let b = false;
                    for(let key of data){
                        //判断
                        if (key.startsWith(obj.value)) {
                            $("#show").append($("<div>"+key+"</div>"));
                            b = true;
                        }
                    }
                    if(b){
                        //让show显示
                        $("#show").slideDown();
                    }else{
                        //让show隐藏
                        $("#show").slideUp();
                    }
                },
                error:function (data) {
                    console.log("请求失败...")
                }
            });
        }
    </script>
</body>
总结
1. 能够使用Jquery基本选择器
    $("标签") $(".类名") $("#id") $("选择器1 选择器2")
    $("选择器1,选择器2") $("选择器1[属性名='属性值']")
2. 能够使用Jquery对象完成dom操作
    获取操作,内容操作,属性操作,样式操作,元素操作
"3. 掌握Jquery事件绑定"
    	js的绑定: js对象.on事件名 = function(){}
		jQuery的: $对象.事件名(function(){})           
4. 理解原生JS异步通信原理
"5. 掌握Jquery的异步通信"
        准完整格式:
			$.ajax({
                type:"get/post",
                url:"路径",
                data:"要发送的数据(字符串和json)",
                dataType:"text/json",
                async:true,
                success:function(data){},
                error:function(err){}
            });
		省略格式:
			$.get(url,data,function(data){});
		省略格式:
			$.post(url,data,function(data){});
		
"=================6. 能够完成异步通信案例=============="
 类似资料: