jQuery(简单学习)

接上一个文章

jquery在线手册|jQuery API中文手册|jQuery速查表|jQuery参考手册|jQuery API|jQuery在线文档|jQuery最新手册 (jq22.com)

一个简单的按键调用jQuery函数实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jquery</title>
  <script type="text/javascript" src="script/jquery.1.7.2.js"></script>
  <script type="text/javascript">
      // window.onload = function (){
      //     var btnObj = document.getElementById("btn01");
      //     btnObj.onclick = function (){
      //         alert("js原生按钮")
      //     }
      // }
      
    $(function (){      //表示页面加载完成之后,相当于Windows。onload = function(){}
        var $btnObj = $("#btn01");      //表示按id查询标签对象
        $btnObj.click(function (){      //绑定单击事件
            alert("jQuery 的单击事件");
        });
    });
  </script>
</head>

<body>
<button id="btn01">按钮</button>
</body>
</html>

使用jQuery前一定要先引入jQuery库

 <script type="text/javascript" src="script/jquery.1.7.2.js"></script>

怎么为按钮添加点击响应函数?

1、使用jQuery查询到标签对象

2、使用标签对象.click(function(){});

$ 是jQuery的核心函数,能完成jQuery的很多功能、$()就是调用$这个函数

1、传入参数为【函数】时

        表示页面加载完成之后,相当于window.onload = function(){}

    <script type="text/javascript" src="script/jquery.1.7.2.js"></script>
    <script type="text/javascript">
        $(function () {      //表示页面加载完成之后,相当于Windows。onload = function(){}
            alert("页面加载完成之后,自动调用");
        });
    </script>

2、传入参数为【HTML字符串】时

        会创建这个HTML对象

    <script type="text/javascript" src="script/jquery.1.7.2.js"></script>
    <script type="text/javascript">

        $(function () {      //表示页面加载完成之后,相当于Windows。onload = function(){}
            $("<div>" +
                "    <span>div1</span>" +
                "    <span>div2</span>" +
                "</div>").appendTo("body");
        });
    </script>

 3、传入参数为【选择器字符】时

        $("#id属性值");        id选择器,根据id查询标签对象

        $("标签名");                标签名选择器,根据指定的标签名查询标签对象

        $(".calss属性值");        类选择器,可以根据class属性查询标签对象

4、传入参数为【DOM对象】时

        会把这个dom对象转换为jQuery对象

基本选择器(重点)

jQuery API 中文文档 | jQuery API 中文在线手册 | jquery api 下载 | jquery api chm (cuishifeng.cn)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>基本选择器</title>
    <style type="text/css">
        div, span, p {
            width: 140px;
            height: 140px;
            margin: 5px;
            background: #aaa;
            border: #000 1px solid;
            float: left;
            font-size: 17px;
            font-family: Verdana;
        }

        div.mini {
            width: 55px;
            height: 55px;
            background-color: #aaa;
            font-size: 12px;
        }

        div.hide {
            display: none;
        }
    </style>
    <script type="text/javascript" src="../script/jquery.1.7.2.js"></script>
    <script type="text/javascript">
        $(function (){
        //1、选择id为one的元素“background-color”,"#bbffaa"
        $("#btn1").click(function (){
            //css()方法可以设置和获取样式
            $("#one").css("background-color","#bbffaa")
        });
        //2、选择class为mini的所有元素
        $("#btn2").click(function (){
            $(".mini").css("background-color","#bbffaa")
        });
        //3、选择元素名为div的所有元素
            $("#btn3").click(function (){
                $("div").css("background-color","#bbffaa")
            });
        //4、选择所有的元素
        $("#btn4").click(function (){ 
            $("*").css("background-color","#bbffaa")
        });
        //5、选择所有的span元素和id为two的元素
        $("#btn5").click(function (){
            $("span,#two").css("background-color","#bbffaa")
        });
        });
    </script>
</head>
<body>
<input type="button" value="选择 id 为one的元素" id="btn1">
<input type="button" value="选择 class 为mini的所有元素" id="btn2">
<input type="button" value="选择 元素名是div的所有元素" id="btn3">
<input type="button" value="选择 所有元素" id="btn4">
<input type="button" value="选择 所有的 span 元素和id为two的元素" id="btn5">
<br>
<div class="one" id="one">
    id为one,class为one的div
    <div class="mini">class为mini</div>
</div>
<div class="one" id="two" title="test">
    id为two,class为one,title为test的div
    <div class="mini" title="other">class为mini,title为other</div>
    <div class="mini" title="test">class为mini,title为test</div>
</div>
<div class="one">
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini"></div>
</div>
<div class="one">
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini" title="tesst">class为mini,title为tesst</div>
</div>
<div class="none" style="display: none">style的display为“none”的div</div>
<div class="hide">class为“hide”的div</div>
<div>
    包含input的type为“hidden”的div<input type="hidden" size="8">
</div>
<span class="one" id="span">^^span元素^^</span>
</body>
</html>

层级选择器(重点)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>层级选择器</title>
  <style type="text/css">
    div, span, p {
      width: 140px;
      height: 140px;
      margin: 5px;
      background: #aaa;
      border: #000 1px solid;
      float: left;
      font-size: 17px;
      font-family: Verdana;
    }

    div.mini {
      width: 55px;
      height: 55px;
      background-color: #aaa;
      font-size: 12px;
    }

    div.hide {
      display: none;
    }
  </style>
  <script type="text/javascript" src="../script/jquery.1.7.2.js"></script>
  <script type="text/javascript">
    $(function (){
      //1、选择body内的所有div元素
      $("#btn1").click(function (){
        //css()方法可以设置和获取样式
        $("body div").css("background-color","#bbffaa")
      });
      //2、在body内,选择div子元素
      $("#btn2").click(function (){
        $("body > div").css("background-color","#bbffaa")
      });
      //3、选择 id为one的下一个div元素
      $("#btn3").click(function (){
        $("#one + div").css("background-color","#bbffaa")
      });
      //4、选择id为two的元素后面的所有div兄弟元素
      $("#btn4").click(function (){
        $("#two ~ div").css("background-color","#bbffaa")
      });
    });
  </script>
</head>
<body>
<input type="button" value="选择body内的所有div元素" id="btn1">
<input type="button" value="在body内,选择div子元素" id="btn2">
<input type="button" value="选择 id为one的下一个div元素" id="btn3">
<input type="button" value="选择 选择id为two的元素后面的所有div兄弟元素" id="btn4">
<br>
<div class="one" id="one">
  id为one,class为one的div
  <div class="mini">class为mini</div>
</div>
<div class="one" id="two" title="test">
  id为two,class为one,title为test的div
  <div class="mini" title="other">class为mini,title为other</div>
  <div class="mini" title="test">class为mini,title为test</div>
</div>
<div class="one">
  <div class="mini">class为mini</div>
  <div class="mini">class为mini</div>
  <div class="mini">class为mini</div>
  <div class="mini"></div>
</div>
<div class="one">
  <div class="mini">class为mini</div>
  <div class="mini">class为mini</div>
  <div class="mini">class为mini</div>
  <div class="mini" title="tesst">class为mini,title为tesst</div>
</div>
<div class="none" style="display: none">style的display为“none”的div</div>
<div class="hide">class为“hide”的div</div>
<div>
  包含input的type为“hidden”的div<input type="hidden" size="8">
</div>
<span class="one" id="span">^^span元素^^</span>
</body>
</html>

过滤选择器

标签前置

:first        获取第一个元素

:last        获取最后一个元素

:not(selector)        去除所有与给定选择器匹配的元素

:even        匹配所有索引值为偶数的元素,从0开始计数

:odd        匹配所有索引值奇数的元素,从0开始计数

:eq(index)        匹配一个给定索引值的元素

:gt(index)        匹配所有大于给定索引值的元素

:lt(index)        匹配所有小于给定索引值的元素

:header        选择所有的标题元素

:animated        选择当前正在执行动画的所有元素

:focus        匹配当前获取焦点的元素。

内容选择器

:contains(text)        匹配包含给定文本的元素

:empty        匹配所有不包含子元素或者文本的空元素

:has(selector)        匹配含有选择器所匹配的元素的元素

:parent        匹配含有子元素或者文本的元素

属性过滤

表单过滤

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <script type="text/javascript" src="../script/jquery.1.7.2.js"></script>
  <script type="text/javascript">
    $(function(){
      //1.对表单内 可用input赋值操作
      $("#btn1").click(function(){
        //val()可以操作表单项的value属性值
        //他可以设置和获取
        $(":text:enabled").val("我是大帅哥")
      });
      //2. 对表单内 不可以用input 赋值操作
      $("#btn2").click(function (){
        $(":text:disabled").val("我是大帅哥")
      });
      //3.获取多选框选中的个数 使用size()方法获取选取到的元素集合的元素个数
      $("#btn3").click(function (){
        $(":checkbox:checked")
      });
      //4.获取多选框,每个选中的value值
      $("#btn4").click(function (){
        //获取全部选中的复选框标签对象
        var $checkboies = $(":checkbox:checked");
        //老式遍历
        // for (var i = 0;i<$checkboies.length;i++){
        //   alert($checkboies[i].value);
        // }

          //each方法是jQuery对象提供用来遍历元素的方法
        //在遍历的function函数中,有一个this对象,这个this对象,就是当前遍历到的dom对象
        $checkboies.each(function (){
          alert(this.value);
        })
      });
      //5. 获取下拉框选中的内容
      $("#btn5").click(function (){
        //获取选中的option标签对象
        var $checkboies = $("select option:checked")
        //遍历,获取option标签中的文本内容
        $checkboies.each(function (){
          alert(this.innerHTML)
        })

      });
    })

  </script>
</head>
<body>
<h3>表单对象属性过滤选择器</h3>
<button id="btn1">对表单内 可用input赋值操作</button>
<button id="btn2">对表单内 不可以用input 赋值操作</button><br><br>
<button id="btn3">获取多选框选中的个数</button>
<button id="btn4">获取多选框,每个选中的value值</button><br><br>
<button id="btn5">获取下拉框选中的内容</button><br><br>

<form id="form1" action="#">
  可用元素:<input name="add" value="可用文本框1"><br>
  可用元素:<input name="email" disabled="disabled" value="不可用文本框1"><br>
  可用元素:<input name="che" value="可用文本框2"><br>
  可用元素:<input name="add" disabled="disabled" value="不可用文本框1"><br>
  <br>

  多选框:<br>

  <input type="checkbox" name="newsletter" checked="checked" value="test1" />test1
  <input type="checkbox" name="newsletter" value="test2" />test2
  <input type="checkbox" name="newsletter" value="test3" />test3
  <input type="checkbox" name="newsletter" checked="checked" value="test4" />test4
  <input type="checkbox" name="newsletter" value="test5" />test5
<br><br>
  下拉列表1:<br>
  <select name="test" multiple="multiple" style="..." id="sele1">
    <option value="">浙江</option>
    <option value="">辽宁</option>
    <option value="" selected="selected">北京</option>
    <option value="">天津</option>
    <option value="" selected="selected">广州</option>
    <option value="">湖北</option>
  </select>
  <br><br>
  下拉列表2:<br>
  <select name="test2">
    <option value="">浙江</option>
    <option value="">辽宁</option>
    <option value="" selected="selected">北京</option>
    <option value="">天津</option>
    <option value="">广州</option>
    <option value="">湖北</option>
  </select>
</form>
</body>
</html>

过滤

属性操作

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>属性</title>
  <script type="text/javascript" src="../script/jquery.1.7.2.js"></script>
  <script type="text/javascript">
    $(function (){
      //不传参数,是获取,传递参数是设置
      // alert($("div").html());//获取
      // $("div").html("<h1>我是div中的标题</h1>")//设置

      // alert($("div").text());//设置
      // $("div").text("<h1>我是div中的标题</h1>")//设置

      $("button").click(function (){
        alert($("#username").val());//获取
        $("#username").val("超级6");//设置
      });
    })

  </script>
</head>
<body>
<div>我是div标签 <span>我是div中的span</span></div>
<input type="text" name="username" id="username" />
<button>操作输入框</button>
</body>
</html>

属性属性

全选,反选,不选

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>全选反选不选</title>
    <script type="text/javascript" src="../script/jquery.1.7.2.js"></script>
    <script type="text/javascript">
        $(function () {
            //给全选绑定单击事件
            $("#checkedAllBt").click(function () {
                $(":checkbox").prop("checked", true);
            });

            //给全不选绑定单击事件
            $("#checkedNoBtn").click(function () {
                $(":checkbox").prop("checked", false);
            });

            //反选单击事件
            $("#checkedRevBtn").click(function () {
                $(":checkbox[name='items']").each(function () {
                    //在each遍历的funtion函数中,有一个tish对象。这个this对象是当前正在遍历到的dom对象
                    this.checked = !this.checked;
                });
                //要检查 是否满选
                // 获取全部的球类个数
                var allConut = $(":checkbox[name='items']").length;
                // 再获取选中的球类的个数
                var checkedCount = $(":checkbox[name='items']:checked").length;

                //方法一
                if (allConut == checkedCount) {
                    $("#checkedAllBox").prop("checked", true);
                } else {
                    $("#checkedAllBox").prop("checked", false);
                }

                //方法二
                // $("#checkedAllBox").prop("checked",allConut == checkedCount)

            });
            //绑定【提交】按钮
            $("#sendBtn").click(function () {
                $(":checkbox[name='items']:checked").each(function () {
                    alert(this.value);
                });
            });

            //给【全选、全不选】绑定单击事件
            $("#checkedAllBox").click(function () {
                //在事件的funtion函数中,有一个this对象,这个this对象是当前正在响应事件是dom对象

                $(":checkbox[name='items']").prop("checked", this.checked);
            });
            //给所有球类的绑定单击事件
            $(":checkbox[name='items']").click(function () {

                var allConut = $(":checkbox[name='items']").length;
                // 再获取选中的球类的个数
                var checkedCount = $(":checkbox[name='items']:checked").length;
                $("#checkedAllBox").prop("checked", allConut == checkedCount)
            });
        })
    </script>
</head>
<body>
<form method="post" action="">
    你的爱好的运动是?<input type="checkbox" id="checkedAllBox"/>全选/全不选
    <br>
    <input type="checkbox" name="items" value="足球"/>足球
    <input type="checkbox" name="items" value="篮球"/>篮球
    <input type="checkbox" name="items" value="羽毛球"/>羽毛球
    <input type="checkbox" name="items" value="乒乓球"/>乒乓球

    <br>
    <input type="button" id="checkedAllBt" value="全选">
    <input type="button" id="checkedNoBtn" value="全不选">
    <input type="button" id="checkedRevBtn" value="反选">
    <input type="button" id="sendBtn" value="提交">
</form>
</body>
</html>

DOM的增删改

内部插入

appendTo()        a.appendTo(b)         把a插入到b子元素末尾,成为最后一个元素

prependTo()         a.prependTo(b)         把a插入到b子元素前面,成为第一个元素

外部插入

insertAfter()        a.insertAfter(b)        得到ba,同级,生成兄弟

insertBefore()        a.insertBefore(b)        得到ab,同级,生成兄弟

替换:

replaceWith()        a.replaceWith(b)         用b替换掉a

replaceAll()               a.repalceAll(b)        用a替换掉所有b

删除

remove()        a.remove()        删除a标签

empty()        a.empty()        删除a标签内的内容,但标签留下来

练习:从左到右,从右到左

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>左右</title>
  <style type="text/css">
    select{
      width: 100px;
      height: 140px;
    }
    div{
      width: 130px;
      float: left;
      text-align: center;
    }

  </style>
  <script type="text/javascript" src="../script/jquery.1.7.2.js"></script>
  <script type="text/javascript">
    //加载全部
    $(function (){
      //绑定第一个按钮【选中添加到右边】单击事件
    $("button:eq(0)").click(function (){
      $("select:eq(0) option:selected").appendTo($("select:eq(1)"));
    });
      //绑定第二个按钮【选中添加到右边】单击事件
      $("button:eq(1)").click(function (){
        $("select:eq(0) option").appendTo($("select:eq(1)"));
      });
      //绑定第三个按钮【选中添加到左边】单击事件
      $("button:eq(2)").click(function (){
        $("select:eq(1) option:selected").appendTo($("select:eq(0)"));
      });
      //绑定第四个按钮【全部添加到左边】单击事件
      $("button:eq(3)").click(function (){
        $("select:eq(1) option").appendTo($("select:eq(0)"));
      });
    })
  </script>
</head>
<body>
<div id="left">
  <select multiple="multiple" name="sel01">
    <option value="opt01">选项1</option>
    <option value="opt02">选项2</option>
    <option value="opt03">选项3</option>
    <option value="opt04">选项4</option>
    <option value="opt05">选项5</option>
    <option value="opt06">选项6</option>
    <option value="opt07">选项7</option>
    <option value="opt08">选项8</option>
  </select>
  <button>选中添加到右边</button>
  <button>全部添加到右边</button>
</div>
<div id="rigth">
  <select  multiple="multiple" name="sel02">

  </select>
  <button>选中添加到左边</button>
  <button>全部添加到左边</button>
</div>
</body>
</html>

练习:动态添加和删除

第一种方法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>动态添加和删除</title>
    <script type="text/javascript" src="../script/jquery.1.7.2.js"></script>
    <script type="text/javascript">
        $(function () {
            //绑定提交
            $("#addEmpButton").click(function () {
                var empName = $("#empName").val();
                var email = $("#email").val();
                var salary = $("#salary").val();

                //创建一个行标签对象,添加到显示数据的表格中
                var $tianjia = $("<tr>" +
                    "        <td>" + empName + "</td>" +
                    "        <td>" + email + "</td>" +
                    "        <td>" + salary + "</td>" +
                    "        <td><a href=\"deleteEmp?id=001\">Delete</a></td>" +
                    "    </tr>")

                //显示到上方表格中
                $tianjia.appendTo("#employeeTab")
                $tianjia.find("a").click(function () {
                    //在事件响应的function函数中,有一个this对象,这个this对象是当前正在响应事件的dom对象
                    var $trObj = $(this).parent().parent();
                    var $name = $trObj.find("td:first").text();

                    /*
                    * confirm是JavaScript语言提供的一个确认提示框函数。你给她传什么,她就提示什么
                    * 当用户点击了确定,就返回true,当用户点击了取消,则返回false
                    * */
                    if (confirm("你确定要删除[" + $name + "]吗?")) {
                        $trObj.remove();
                    }
                    //return false  可以阻止元素的默认行为
                    return false;
                });
            });
            //给a标签即【删除】键
            $("a").click(function () {
                //在事件响应的function函数中,有一个this对象,这个this对象是当前正在响应事件的dom对象
                var $trObj = $(this).parent().parent();
                var $name = $trObj.find("td:first").text();
                /*
                * confirm是JavaScript语言提供的一个确认提示框函数。你给她传什么,她就提示什么
                * 当用户点击了确定,就返回true,当用户点击了取消,则返回false
                * */
                if (confirm("你确定要删除[" + $name + "]吗?")) {
                    $trObj.remove();
                }
                //return false  可以阻止元素的默认行为
                return false;
            });
        })
    </script>
</head>
<body>
<table id="employeeTab" border="1" align="center">
    <tr>
        <th>Name</th>
        <th>Email</th>
        <th>Salary</th>
        <th></th>
    </tr>
    <tr>
        <td>Tom</td>
        <td>ton@tom.com</td>
        <td>5000</td>
        <td><a href="deleteEmp?id=001">Delete</a></td>
    </tr>
    <tr>
        <td>Tom</td>
        <td>ton@tom.com</td>
        <td>5000</td>
        <td><a href="deleteEmp?id=002">Delete</a></td>
    </tr>
    <tr>
        <td>Tom</td>
        <td>ton@tom.com</td>
        <td>5000</td>
        <td><a href="deleteEmp?id=003">Delete</a></td>
    </tr>
</table>
<div id="formDiv" align="center">
    <h4>添加新员工</h4>
    <table border="1">
        <tr>
            <td class="word">name:</td>
            <td class="inp"><input type="text" name="empName" id="empName"/></td>
        </tr>
        <tr>
            <td class="word">email:</td>
            <td class="inp"><input type="text" name="email" id="email"/></td>
        </tr>
        <tr>
            <td class="word">salary:</td>
            <td class="inp"><input type="text" name="salary" id="salary"/></td>
        </tr>
        <tr>
            <td colspan="2" align="center">
                <button id="addEmpButton" value="abc">
                    Submit
                </button>
            </td>
        </tr>
    </table>
</div>
</body>
</html>

第二种方法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>动态添加和删除第二种方法</title>
    <script type="text/javascript" src="../script/jquery.1.7.2.js"></script>
    <script type="text/javascript">
        $(function () {


                   //这就是和第一种方法不一样的地方
                  //创建一个复用的删除的function函数



            var deleteFun = function () {
                //在事件响应的function函数中,有一个this对象,这个this对象是当前正在响应事件的dom对象
                var $trObj = $(this).parent().parent();
                var $name = $trObj.find("td:first").text();

                /*
                * confirm是JavaScript语言提供的一个确认提示框函数。你给她传什么,她就提示什么
                * 当用户点击了确定,就返回true,当用户点击了取消,则返回false
                * */

                if (confirm("你确定要删除[" + $name + "]吗?")) {
                    $trObj.remove();
                }
                //return false  可以阻止元素的默认行为
                return false;
            };
            //绑定提交
            $("#addEmpButton").click(function () {
                var empName = $("#empName").val();
                var email = $("#email").val();
                var salary = $("#salary").val();
                //创建一个行标签对象,添加到显示数据的表格中
                var $tianjia = $("<tr>" +
                    "        <td>" + empName + "</td>" +
                    "        <td>" + email + "</td>" +
                    "        <td>" + salary + "</td>" +
                    "        <td><a href=\"deleteEmp?id=001\">Delete</a></td>" +
                    "    </tr>")
                //显示到上方表格中
                $tianjia.appendTo("#employeeTab")
                $tianjia.find("a").click(deleteFun);
            });
            //给a标签即【删除】键
            $("a").click(deleteFun);
        })
    </script>
</head>
<body>
<table id="employeeTab" border="1" align="center">
    <tr>
        <th>Name</th>
        <th>Email</th>
        <th>Salary</th>
        <th></th>
    </tr>
    <tr>
        <td>Tom</td>
        <td>ton@tom.com</td>
        <td>5000</td>
        <td><a href="deleteEmp?id=001">Delete</a></td>
    </tr>
    <tr>
        <td>Tom</td>
        <td>ton@tom.com</td>
        <td>5000</td>
        <td><a href="deleteEmp?id=002">Delete</a></td>
    </tr>
    <tr>
        <td>Tom</td>
        <td>ton@tom.com</td>
        <td>5000</td>
        <td><a href="deleteEmp?id=003">Delete</a></td>
    </tr>
</table>
<div id="formDiv" align="center">
    <h4>添加新员工</h4>
    <table border="1">
        <tr>
            <td class="word">name:</td>
            <td class="inp"><input type="text" name="empName" id="empName"/></td>
        </tr>
        <tr>
            <td class="word">email:</td>
            <td class="inp"><input type="text" name="email" id="email"/></td>
        </tr>
        <tr>
            <td class="word">salary:</td>
            <td class="inp"><input type="text" name="salary" id="salary"/></td>
        </tr>
        <tr>
            <td colspan="2" align="center">
                <button id="addEmpButton" value="abc">
                    Submit
                </button>
            </td>
        </tr>
    </table>
</div>
</body>
</html>

第一种方法代码冗余,第二种把代码一样的封装成一个函数,用的时候调用就行了

CSS样式操作

addClass                添加样式

removerClass        删除样式

toggleClass                有就删除,没有就添加

offset                        获取和设置元素的坐标

jQuery动画

基本动画

show()        将隐藏的元素显示

hide()        将可见的元素隐藏

toggle()         可见就隐藏,不可见就显示。

        //以上动画方法都可以添加参数。

                1、第一个参数是动画 执行的时长,以毫秒为单位

                2、第二个参数是动画的回调函数(动画完成后自动调用的函数)

淡入淡出动画

fadeln()                淡入(慢慢可见)

fadeOut()                淡出(慢慢消失)

fadeTo()                在指定时长内慢慢的将透明度修改到指定的值        0透明;1完全可见;0.5半透明

fadeToggle()                淡入淡出切换

jQuery事件操作

$(function(){});

window.onload = function(){}

的区别

他们分别是什么时候触发?

1、jQuery的页面加载完成之后是浏览器的内核解析完页面的标签建好DOM对象之后马上执行

2、原生JS的页面加载完成之后,除了要等浏览器内核解析完标签创建好DOM对象,还要等标签显示时需要的内容加载完成

他们的触发顺序?

1、jQuery页面加载完成后先执行

2、原生JS的页面加载完成之后

他们执行的次数?

1、原生JS的页面加载完成之后,只会执行最后一次的赋值函数。

2、jQuery的页面加载完成之后是全部把注册的function函数,依次顺序全部执行

jQuery中其他事件处理方法:

click()        它可以绑定单击事件,以及触发单击事件

mouseover()         鼠标移入事件

mouseout()        鼠标移出事件

bind()             可以给元素一次性绑定一个或者多个事件

one()         使用上跟bind一样。但是one方法绑定事件只会响应一次

unbind()         跟bind方法相反的操作,解除事件的绑定

live()         也是用来绑定事件。它可以用来绑定选择器匹配的所有元素的事件。哪怕这个元素是后面动态创建出来的也有效

事件的冒泡

什么是事件的冒泡?

事件的冒泡是指,父子元素同时监听同一个事件。当触发子元素的事件的时候,同一个事件也被传递到了父元素的事件里去响应

那么如何阻止事件冒泡呢?

在事件函数体内,return false;可以阻止事件的冒泡传递

JavaScript事件对象

事件对象,是封装有触发的事件信息的一个JavaScript对象

如何获取呢JavaScript事件对象呢?

在给元素绑定事件的时候,在事件的function(event)参数列表中添加一个参数,这个参数名,我们习惯取名为event。

这个event就是JavaScript传递参数事件处理函数的事件对象。

比如:

1、在原生JavaScript获取 事件对象

window.onload = function (){
    document.getElementById("id").onclick = function (event){
        console.log(event);
    }
}

2、jQuery代码获取事件对象

$(function () {
    $("#id").click(function (){
        console.log(event);
    });
})

3、使用bind同时对多个事件绑定同一个函数。怎么获取当前操作是什么事件。

$("#q").bind("mouseover mouseout",function (event){
    if (event.type == "mouseover"){
        console.log("鼠标移入");
    }else {
        console.log("鼠标移出");
    }
})

使用jQuery来验证表单(注册页,简单版)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表单验证</title>
    <script type="text/javascript" src="../script/jquery.1.7.2.js"></script>
    <script type="text/javascript">
        //页面加载完成之后
        $(function () {
            //给注册按钮绑定单击事件
            $("#sub_btn").click(function () {
// 验证用户名:必须由字母,数字下划线组成,并且长度为5到12位
                //1、获取用户名输入框里的内容
                var usernameTest = $("#username").val();
                //2、创建正则表达式对象
                var usernamePatt = /^\w{5,12}$/;
                //3、使用test方法验证
                if (!usernamePatt.test(usernameTest)) {
                    //4、提示用户结果
                    $("span.errorMsg").text("用户名不合法")
                    return false;
                }
// 验证密码:必须由字母,数字下划线组成,并且长度为5到12位
                //1、获取密码输入框里的内容
                var passwordTest = $("#password").val();
                //2、创建正则表达式对象
                var passwordPatt = /^[a-z0-9_-]{6,18}$/;
                //3、使用test方法验证
                if (!passwordPatt.test(passwordTest)) {
                    //4、提示用户结果
                    $("span.errorMsg").text("密码不合法")
                    return false;
                }
// 验证确认密码:和密码相同
                //   1、获取确认密码
                var repwdTest = $("#repwd").val();
                //  2、和密码比较
                if (repwdTest !== passwordTest) {
                    $("span.errorMsg").text("密码不一致")
                    return false;
                }
// 邮箱验证:XXXXX@XXX.com
                //获取输入框内容
                var emailTest = $("#email").val();
                //创建正则表达
                var emailPatt = /^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/;
                //比较
                if (!emailPatt.test(emailTest)) {
                    //4、提示用户结果
                    $("span.errorMsg").text("邮箱不合法")
                    return false;
                }
// 验证码:现在只需要验证用户已输入。因为还没讲到服务器。验证码生成。
                var codeTest = $("#code").val();
                //去掉前后的空格
                codeTest = $.trim(codeTest)
                if (codeTest == null || codeTest == "") {
                    $("span.errorMsg").text("请输入验证码")
                    return false;
                }
                $("span.errorMsg").text("")
            });
        })
    </script>
</head>
<body>
<form action="#">
    <label>用户名称:</label>
    <input class="itxt" type="text" placeholder="请输入用户名"
           autocomplete="off" tabindex="1"
           name="username" id="username"/>
    <br>
    <br>
    <label>用户密码:</label>
    <input class="itxt" type="password" placeholder="请输入密码"
           autocomplete="off" tabindex="1"
           name="password" id="password"/>
    <br>
    <br>
    <label>确认密码:</label>
    <input class="itxt" type="password" placeholder="请输入密码"
           autocomplete="off" tabindex="1"
           name="repwd" id="repwd"/>
    <br>
    <br>
    <label>电子邮件:</label>
    <input class="itxt" type="text" placeholder="请输入邮箱地址"
           autocomplete="off" tabindex="1"
           name="email" id="email"/>
    <br>
    <br>
    <label>验证码:</label>
    <input class="itxt" type="text" id="code"/>
    <br>
    <br>
    <input type="submit" value="注册" id="sub_btn">
    <br>
    <br>
    <br>
    <br>
    <div class="tit">
        <span class="errorMsg"></span>
    </div>
</form>
</body>
</html>

  • 24
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值