• 前端复习之jQuery大全


    Jquery知识点梳理

    梳理图摘自--https://www.cnblogs.com/859630097com/p/14433611.html

    【手机版】横屏观看,效果更佳

    JavaScript类库:

    1 *JavaScript类库
    2    * JavaScript类库,简称JS库
    3    * 作用 - 简化JavaScript的开发
    4    * 目的 - 预定义了很多对象(属性和方法)和函数
    5    * 特点 - 兼容各大浏览器

    JQuery 概述

     1    * jQuery其实就是一个js文件
     2      * 分类
     3        * jQuery - web版本(最主要)
     4        * jQuery UI (user Interface) - 集成UI内容
     5        * jQuery Mobile - 移动版本webapp
     6        * QUnit - 用于测试
     7      * 测试
     8        * 1.4.2版本 - 企业开发使用
     9        * 1.8.3版本 - 企业使用最新
    10        * 1.11.3版本 - 目前jQuery最新(2015年)
    11          * 2.x.x版本 - 不再支持IE浏览器(8以前)
    12      * 特点
    13        * HTML代码(结构) - 标签
    14        * HTML内容 - 浏览器运行页面后显示的
    15    * 如何使用jQuery
    16      * 在HTML页面中head标签内引入jQuery文件
    17      * 使用jQuery文件的选择器定位(获取)页面元素
    18      * 使用jQuery的API方法完成需求

    基本内容:

     1  * $(selector) - jQuery的工厂函数
     2        * 该函数返回jQuery对象
     3      * jQuery的约定 - jQuery对象前加"$"符号
     4      * DOM对象与jQuery对象
     5        * DOM对象 - 通过DOM获取的元素,称为DOM对象
     6        * jQuery对象 - 通过jQuery包装DOM后产生的对象
     7          * jQuery对象的底层还是DOM对象啊
     8      * DOM对象与jQuery对象的转换
     9        * DOM对象转换为jQuery对象
    10          * $(DOM对象)
    11           
    12        * jQuery对象转换为DOM对象
    13          * jQuery对象是数对象 - 角标
    14          * jQuery对象提供get(index)方法
    15        * 注意 - DOM对象和jQuery对象之间不能相互调用
    16      * jQuery事件
    17        *jQuery将DOM    */

    *JQuery DAY01:

     * 选择器(9类) - jQuery的根基
         *(1) 基本选择器

     1   * ID选择器
     2          $("#btn1").click(function(event){
     3              /* 改变背景颜色
     4              * 操作CSS的background-color的属性
     5              * jQuery操作CSS
     6                * CSS(name,value)方法
     7                  * name - CSS的属性名称
     8                  * value - CSS的属性值
     9             */
    10           $("#d1").css("background","red");
    11             });
     1  * 元素选择器
     2              $("#btn2").click(function(){
     3             /* * JS定义的数组
     4                 * 遍历数组,获取每一个元素
     5                 * 遍历的过程中,改变每一个元素
     6                 * jQuery数组
     7                 * 批处理
     8              */
     9              //$("div").css("background","red");
    10              var $divs=$("div");
    11             for(var i=0;i<$divs.length;i++){
    12                 var div=$divs[i];//div为DOM对象
    13                 div.className;
    14             }
    15            });
    1 * class选择器
    2            $("#btn3").click(function(){
    3                $(".mini").css("background","red");
    4            });
    1 * *选择器
    2             $("#btn4").click(function(){
    3                $("*").css("background","red");//页面所有
    4            });
    1 * 复合选择器
    2             $("#btn5").click(function(){
    3                 //多个选择器并列使用,中间使用“,”分隔
    4                $("#d1,.mini").css("background","red");
    5            });

     * (2)层级选择器:

    1 * 祖先与后代选择器
    2          /*
    3          * 改变body中所有div元素的背景元素
    4          */
    5          $("#btn1").click(function(){
    6             $("body div").css("background","red");
    7          });
    1  * 父子选择器
    2          /*
    3          * 改变body中所有子元素为div元素的背景元素
    4          */
    5          $("#btn2").click(function(){
    6             $("body>div").css("background","red");
    7          });
    2  * 下一个兄弟选择器
    3          /*
    4          * 改变ID为one的div元素的下一个div元素的背景元素
    5          */
    6          $("#btn3").click(function(){
    7             $("#one+div").css("background","red");
    8          });
    1 * 后面所有兄弟选择器
    2          /*
    3          * 改变ID为one的div元素的后面所有div的背景元素
    4          */
    5          $("#btn4").click(function(){
    6             $("#one~div").css("background","red");
    7          });

    * (3)过滤选择器 - 在选择器前,具有“:”号
        * 基本过滤选择器 - 10个

     1  :first//第一个
     2             $("#btn1").click(function(){
     3                 $("div:first").css("background","green");
     4             });
     5  :last//最后一个
     6             $("#btn2").click(function(){
     7                 $("div:last").css("background","red");
     8             });
     9         //难
    10  :not//获取class不为mini的div元素(包含没有class属性的div元素)
    11              $("#btn3").click(function(){
    12                 $("div:not('.mini')").css("background","red");
    13             });
    14  :even //索引值为偶数,从0开始
    15              $("#btn4").click(function(){
    16                 $("div:even").css("background","red");
    17             });
    18  :odd //奇数
    19              $("#btn5").click(function(){
    20                 $("div:odd").css("background","red");
    21              });
    22  :eq  //等于
    23              $("#btn6").click(function(){
    24                 $("div:eq(1)").css("background","red");
    25             });
    26  :gt   //索引值大于1 - great than
    27              $("#btn7").click(function(){
    28                 $("div:gt(1)").css("background","red");
    29             });
    30  :lt   //小于 - less than
    31              $("#btn8").click(function(){
    32                 $("div:lt(1)").css("background","red");
    33              });
    34  :header//获取所以标题元素(h1 - h6)不常用
    35             $("#btn9").click(function(){
    36                 $(":header").css("background","red");
    37              });
    38 
    39              function move(){
    40                 $("#d1").slideToggle(500,function(){
    41                     move();
    42                 });
    43                 //实现上下滑动效果slideToggle(speed,callback)
    44                     speed动画执行时长,callback动画执行完毕回调的函数
    45              }
    46             move();
    47  :animated//获取当前正在执行动画的元素
    48             $("#btn10").click(function(){
    49                 $(":animated").css("background","red");
    50             });

        * 子元素过滤选择器 - 层级+基本过滤选择器 - 4个

     1          <button id="btn1">:nth-child</button>//获取div的第二个子元素
     2             * $("#btn1").click(function(){//:nth-child选择器 是从1开始
     3                 $("div:nth-child(2)").css("background","red");
     4                 $("div>div:eq(1)").css("background","red");
     5             });
     6           <button id="btn2">:first-child</button>//获取div元素的第一个子元素
     7             * $("#btn2").click(function(){
     8                 $("div:first-child").css("background","red");
     9             });
    10           <button id="btn3">:last-child</button>//获取div元素的最后一个子元素
    11             * $("#btn3").click(function(){
    12                 $("div:last-child").css("background","red");
    13             });
    14           <button id="btn4">:only-child</button><br>//如果哪个div元素只有一个子元素,那么选中
    15             * $("#btn3").click(function(){
    16                 $("div:only-child").css("background","red");//结果:第一个div的div
    17             });
    18          <div>
    19           <div class="mini"></div>
    20          </div>
    21          <div>
    22           <div class="mini"></div>
    23           <div class="mini"></div>
    24          </div>
    25          <div>
    26           <div class="mini"></div>
    27           <div class="mini"></div>
    28          </div>
    29          <div></div>
    30          <div></div>

        * 内容过滤选择器 - 4个

     1   :contains
     2             $("#btn1").click(function(){//文本包含div11的div元素
     3                $("div:contains('div11')").css("background","red");
     4             });
     5   :empty
     6             $("#btn2").click(function(){//文本不包含文本内容或子元素的div元素
     7                $("div:empty").css("background","red");
     8             });
     9   :parent
    10             $("#btn3").click(function(){//文本包含文本内容或子元素的div元素
    11                $("div:parent").css("background","red");
    12             });
    13   :has
    14             $("#btn4").click(function(){//文本包含class为mini的div元素的父div元素
    15                $("div:has('.mini')").css("background","red");
    16             });
    17 
    18          <div>这是第1个div元素.class为div111</div>
    19          <div>这是第2个div元素.class为div11
    20             <div class="mini"></div>
    21          </div>
    22          <div>这是第3个div元素.class为div1
    23             <div class="mini"></div>
    24          </div>
    25          <div>这是第4个div元素.class为div</div>
    26          <div></div>
    27          div{150px;height:150px;border:solid 1px black;background:pink;
    28            float:left;margin-right:10px;}
    29          .one{150px;height:150px;border:solid 1px black;background:pink;
    30            float:left;margin-right:10px;display:none}

        * 可见性过滤选择器 - 2个

     1 :visible
     2 :hidden
     3          <div></div>
     4          <div></div>
     5          <div class="one"></div>
     6          <div></div>
     7          <div></div>
     8           $("#btn1").click(function(){//可见 
     9             $("div:visible").css("background","red");
    10           });
    11           $("#btn2").click(function(){// 不可见
    12             $("div:hidden").show(3000).css("background","red");//show()让隐藏的可见
    13           });

        * 属性过滤选择器 - 7个

     1 [attribute]
     2          $("#btn1").click(function(){ //包含属性title的div元素
     3             $("div[title]").css("background","red");
     4           });
     5 [attribute=value]
     6          $("#btn2").click(function(){ //包含属性title=text1的div元素
     7             $("div[title='text1']").css("background","red");
     8           });
     9 [attribute!=value]
    10 [attribute^=value]//包含属性title值是以text开始的div元素
    11 [attribute$=value]//                     结束
    12 [attribute*=value]//                 包含t1的div元素
    13 [selector][selector]//多个属性过滤选择器并列使用
    14           $("#btn7").click(function(){ //包含属性title是以t1结束的,并且包含ID属性的div元素
    15             $("div[title$=t1][id]").css("background","red");
    16           });
    注意:
    testa,test a,test-a
    *=te:属性值包含te的就行
    ~=te:属性值包含te的 并且 带空格的,其余两个不能选中(带空格的专用)
    ^=te:属性值以te开头的就行
    |=te:属性值以te开头的 并且 带 '-' 的,其余两个不能选中(带'-'的专用)
    属性值只要全等就都能选中。不管有没有空格或 '-' 。

      * 表单对象属性过滤选择器

     1            <input type="text" value="这是可用元素"><br>
     2            <input type="text" disabled="disabled" value="这是不可用元素"><br>
     3            <input type="radio" name="love" value="html"checked="checked">HTNL
     4            <input type="radio" name="love"value="css">CSS
     5            <input type="radio" name="love"value="javascript">JAVASCRIPT<br>
     6            <select id="city">
     7              <option value="">-请选择-</option>
     8              <option value="bj">-北京-</option>
     9              <option value="sh">-上海-</option>
    10              <option selected="selected" value="sx">-陕西-</option>
    11              <option value="nx">-宁夏-</option>
    12             </select>
    13   :enabled
    14             $("#btn1").click(function(){ 
    15               /*
    16               *val()方法 - 获取|设置指定元素的value属性值
    17               *val()-获取|val(value)-设置
    18               */
    19              $("input:enabled").val("xxx");
    20            });
    21   :disabled
    22           $("#btn2").click(function(){ 
    23              $("input:disabled").val("yyy");
    24            });
    25   :checked
    26           $("#btn3").click(function(){ //打印被选中的单选框的value属性值
    27             console.log($("input:[name=love]:checked").val());
    28             //DOM
    29             var loves=document.getElementsByName("love");//dom
    30             for(var i=0;i<loves.length;i++){
    31                 var love=loves[i];
    32                 if(love.checked){
    33                 console.log(love.value);
    34                 }
    35             }
    36            });
    37   :selected
    38            $("#btn4").click(function(){ 
    39              console.log($("#city>option:selected").val());//父子关系
    40            });

    * (4)表单选择器

     1  :input选取所有<input><textarea><select><button>元素
     2        :text选取所有的单行文本
     3        :password选取所有的密码框
     4        :radio选取所有的单选框
     5        :checkbox选取所有的复选框
     6        :submit选取所有的提交按钮
     7        :image选取所有的图像按钮
     8        :reset选取所有的重置按钮
     9        :button选取所哟的按钮
    10        :file选取所哟的上传域
    11        :hidden选取所有不可见元素

    * JQuery DAY02:

     * DOM 操作

      
    * 获取节点
       * 创建节点
       * 遍历节点
       * 替换节点
       * 删除节点
       * 插入节点
       * 复制节点

     * jQuery中的DOM操作
       * 1.基本操作

     1        * html() - 类似于原生DOM的innerHTML属性
     2         * 获取 - html()
     3         * 设置 - html(html代码)
     4        * val() - 类似于原生DOM的value属性
     5         * 获取 - val()
     6         * 设置 - val(value)
     7        * text() - 类似于原生DOM的textContent属性
     8         * 获取 - text()
     9         * 设置 - text(文本内容)
    10        * attr() - 获取或设置指定元素的属性
    11         * 获取 - attr(attrName)- 类似于getAttribute()
    12         * 设置 - attr(attrName,attrValue)- 类似于setAttribute()
    13         * removeAttr(attrName)- 类似于removeAttribute()
     1 <script src="jquery-1.11.3.js"></script>
     2   <style>/*2*/
     3     div{
     4         width:100px;
     5         height:100px;
     6         border:solid 1px black;
     7         background:pink;
     8         float:left;
     9         margin-right:10px;
    10     }
    11     .one{
    12         width:50px;
    13         height:50px;
    14         border:solid 1px black;
    15         background:yellow;
    16         float:left;
    17         margin-right: 10px;
    18     }
    19     .two{
    20         width:150px;
    21         height:150px;
    22         border:solid 1px black;
    23         background:green;
    24         float:left;
    25         margin-right: 10px;
    26     }
    27     .d1,.d3,.d5,.d7{
    28        width:200px;
    29        height:50px;
    30        border:solid 1px black;
    31        background:yellow;
    32     }
    33     .d2,.d4,.d6{
    34         width:200px;
    35         height:200px;
    36         border:solid 1px black;
    37         background:pink;
    38         display:none;
    39     }
    40   </style>
    41  </head>
    42  <body>
    43   <h3>jQuery中的DOM操作-1.基本操作</h3>
    44    <ul id="city">
    45     <li id="bj" name="北京">北京1</li>
    46     <li id="tj" name="天津">天津</li>
    47     <li id="nj" name="南京">南京</li>
    48     <li id="sh" name="上海">上海</li>
    49     <li id="cq" name="重庆">重庆</li>
    50   </ul>
    51   <input type="text" id="user" value="请输入你的用户名">
    52   <script>
    53     //html() - 
    54         //console.log($("#city").html());
    55         //$("#city").html("<li>长春</li>");
    56 
    57     //val() - 
    58         //console.log($("#user").val());
    59         //$("#user").val("请输入你的密码");
    60 
    61     //text() - 
    62         //console.log($("#bj").text());
    63         //$("#bj").text("长春");
    64 
    65     //attr() - 
    66         //console.log($("#bj").attr("name"));//北京
    67 
    68         //$("#bj").attr("name","changchun");
    69         //console.log($("#bj").attr("name"));//changchun
    70 
    71         //$("#bj").removeAttr("name");
    72         //console.log($("#bj").attr("name"));    //undefined
    73 
    74     // DOM - 
    75         //$("#bj")[0].removeAttribute("name");
    76         //console.log($("#bj")[0].getAttribute("name"));//null
    77     
    78   </script>
    jQuery中的DOM操作-1.基本操作

    * 2.样式操作 - css

     1        * attr("class",classValue)
     2 
     3        * addClass() - 追加样式
     4        * removeClass() - 删除样式
     5          * 不传参 - 删除所有样式
     6          * 传参 - 删除指定样式
     7        * toggleClass() - 切换样式
     8          * 是在没有样式与指定样式之间切换
     9        * hasClass() - 判断样式
    10          * 判断指定样式是否包含指定样式
    11 
    12        * css() - 操作样式(类似于style属性的作用)
    13         * 设置 - 
    14           * css(name,value)
    15           * css(options)
    16            *options - 选项
    17            {
    18              name:value,
    19              name:value,
    20              ...
    21            }
    22         * 获取 - css(name)
     1 <h3>jQuery中的DOM操作-2.CSS操作</h3>
     2   <button id="btn1">attr()</button>
     3   <button id="btn2">addClass()</button>
     4   <button id="btn3">removeClass()</button>
     5   <button id="btn4">toggelClass()</button>
     6   <button id="btn5">hasClass()</button>
     7   <button id="btn6">css</button>
     8   <br/>
     9   <div id="d1"></div>
    10   <div id="d2"></div>
    11   <br/>
    12   <script>
    13     //attr("class",className) - 设置
    14     $("#btn1").click(function(){
    15         $("#d1").attr("class","one");
    16     });
    17     //addClass(className) - 追加|叠加
    18     $("#btn2").click(function(){
    19         $("#d1").addClass("two");
    20         
    21     });
    22     //removeCLass()
    23     $("#btn3").click(function(){
    24         $("#d1").removeClass();//one/two/不填
    25         /*
    26         * removeCLass()
    27         * * 不传参 - 删除所有样式
    28         * * 传参 - 删除指定样式
    29         */
    30     });
    31     //toggleClass()
    32     $("#btn4").click(function(){
    33         $("#d1").toggleClass("one");
    34         /*
    35         * toggleClass(className)
    36         * * 是在没有样式与指定样式之间切换
    37         * * addClass()+removeClass()
    38         */
    39     });
    40     //hasClass()
    41     $("#btn5").click(function(){
    42         console.log($("#d1").hasClass("two"));
    43         /*
    44         * hasClass(className)
    45         * * 判断指定元素是否含有指定样式
    46         */
    47     });
    48 
    49     //css()方法的设置功能
    50     $("#btn6").click(function(){
    51         //1.链式操作
    52         //$("#d2").css("background","red").css("width","50");
    53         //2.
    54         $("#d2").css({
    55             "background":"red",
    56             "width":50,
    57             "height":50
    58         });
    59     });
    60   </script>
    jQuery中的DOM操作-2.CSS操作

    * 3.遍历节点

    1        * parent() - 获取指定节点的父节点
    2        * children() - 获取指定节点的所有子节点
    3        * next() - 获取指定节点的下一个兄弟节点
    4        * prev() - 获取指定节点的上一个兄弟节点
    5        * siblings() - 获取指定节点的所有兄弟节点
    6 
    7        * find(expr) - 在指定节点中查找,expr必传
    8         * 注意 - 查找指定节点的后代节点
     1 <h3>jQuery中的DOM操作-3.遍历节点</h3>
     2    <ul id="city2">
     3     <li id="bj" name="北京">北京2</li>
     4         <ul>
     5             <li>海淀区</li><li>朝阳区</li><li>大兴区</li>
     6         </ul>
     7     <li id="tj" name="天津">天津</li>
     8     <li id="nj" name="南京">南京</li>
     9     <li id="sh" name="上海">上海</li>
    10     <li id="cq" name="重庆">重庆</li>
    11   </ul>
    12   <script>
    13     //1.获取北京节点的父节点
    14     //console.log($("#bj").parent().attr("id"));//city
    15     //2.获取ID为city节点的所有子节点的个数
    16     console.log($("#city2").children().length);//-------5
    17     //3.获取南京节点的上一个兄弟节点和下一个兄弟节点
    18     //console.log($("#nj").prev().attr("name"));
    19     //console.log($("#nj").next().attr("name"));
    20     //4.获取南京节点的所有兄弟节点
    21     //console.log($("#nj").siblings().length);
    22     //console.log($("#nj~li").length);//获得南京后面的
    23     //5.获取ID为city节点下所有li元素的个数
    24     console.log($("#city2").find("li").length);//5------8
    25   </script>
    26   <br/><br/><br/><br/><br/><hr>
    jQuery中的DOM操作-3.遍历节点

    * 4.创建节点

    1   * 原生DOM
    2         * 元素节点 - createElement    $(html代码)
    3         * 文本节点 - createTextNode   text()
    4         * 属性节点 - setAttribute     attr()
    5   * jQuery - 
    6         * $(HTML代码) - 涉及字符串的拼串
     1 <h3>jQuery中的DOM操作-4.创建节点</h3>
     2   <ul id="city3">
     3     <li id="bj" name="北京">北京3</li>
     4 
     5     <li id="tj" name="天津">天津</li>
     6     <li id="nj" name="南京">南京</li>
     7     <li id="sh" name="上海">上海</li>
     8     
     9   </ul>
    10   <script>
    11     //为ID为city3的节点增加<li id="cq" name="重庆">重庆</li>
    12     //1.创建<li id="cq" name="重庆">重庆</li>
    13         //a.创建<li></li>
    14         //var $li=$("<li></li>");
    15         //b.设置属性
    16         //$li.attr("id","cq").attr("name","chongqing");
    17         //c.创建文本节点
    18         //d.添加文本节点
    19         //$li.text("重庆");
    20     //2.获取ID为city3节点
    21     //var $city3=$("#city3");
    22     //3.添加append - appendChild
    23     //$city3.append($li);
    24 
    25      $("#city3").append($("<li id='cq' name='chongqing'>重庆</li>"));
    26    </script>
    jQuery中的DOM操作-4.创建节点

    * 5.删除节点

    1  * remove() - 删除自身及后代节点
    2  * empty() - 删除后低节点,但保留自身节点
     1 <h3>jQuery中的DOM操作-5.删除节点</h3>
     2    <ul id="city4">
     3     <li id="bj" name="北京">北京4</li>
     4     <li id="tj" name="天津">天津
     5         <ul>
     6             <li>塘沽</li>
     7         </ul>
     8     </li>
     9     <li id="nj" name="南京">南京</li>
    10     <li id="sh" name="上海">上海</li>
    11     
    12   </ul>
    13   <script>
    14     //1.删除北京节点 2.天津节点
    15     //$("#bj").remove();
    16     $("#city4 #bj").remove();
    17     $("#city4 #tj").empty();
    18   </script>
    jQuery中的DOM操作-5.删除节点

      * 6.插入

     1   * 内部插入       
     2         * append - 后 前 后
     3         * prepend - 后 前 前
     4 
     5         * appendTo
     6         * prependTo
     7   * 外部插入
     8         * before
     9         * after
    10         * insertBefore
    11         * insertAfter
    12       ( DOM  * appendChild* insertChild* insertBefore)
    13   * 替换节点
    14         * replaceWith
    15         * replaceAll - 就是颠倒了的replaceWith
    16   * 复制节点
    17         * jQuery - clone(boolean)默认为false
    18          * boolean 参数 - 表示是否复制事件
    19         * DOM - cloneNode(boolean)
    20          * Boolean参数 - 表示是否复制后代节点
     1 <h3>jQuery中的DOM-6.内部插入</h3>
     2     <ul id="city6">
     3         <li id="bj" name="北京">北京6</li>
     4 
     5         <li id="tj" name="天津">天津</li>
     6         <li id="nj" name="南京">南京</li>
     7         <li id="sh" name="上海">上海</li>
     8     </ul>
     9     <ul id="game">
    10         <li>反恐</li>
    11         <li id="ms">魔兽</li>
    12         <li>星际</li>
    13     </ul>
    14     <script>
    15      //操作天津和魔兽节点
    16      //1.append   append后面的节点被添加到append前面的节点的后面
    17     // $("#city6 #tj").append($("#ms"));
    18      //2.prepend - prepend后面的节点被添加到prepend前面的节点的前面
    19     // $("#city6 #tj").prepend($("#ms"));
    20      //3.appendTo - appendTo前面的节点被添加到appendTo后面的节点的后面
    21     // $("#city6 #tj").appendTo($("#ms"));
    22      //4.prependTo - prependTo前面的节点被添加到prepend后面的节点的前面
    23       //$("#city6 #tj").prependTo($("#ms"));
    24     </script>
    25   </ul>
    26   <hr>
    jQuery中的DOM-6.内部插入
     1 <h3>jQuery中的DOM-9.替换节点</h3>
     2   <b >
     3     <button>按钮1</button>
     4     <button>按钮2</button>
     5     <button>按钮3</button>
     6 </b>
     7     <p>这是段落。</p>
     8     <script>
     9     //replaceWith - 前面的元素是<被>替换的,后面是替换的元素
    10         $("b>button").replaceWith($("<p>这也是段落</p>"));
    11    //replaceAll - 与前相反
    12         $("<button>按钮</button>").replaceAll($("p"));
    13     </script>
    jQuery中的DOM-9.替换节点
     1 <h3>jQuery中的DOM-10.复制节点</h3>
     2   <i>
     3   <button>点我</button>
     4   <p>这是一个段落</p>
     5   </i>
     6   <script>
     7   //jQuery
     8     //$("i button").click(function(){
     9     //    alert("xxx");
    10     //});
    11 
    12     //$("i button").clone(true).appendTo($("p"));
    13  //DOM
    14     var btn=document.getElementsByTagName("i button")[0];
    15     var copy =btn.cloneNode();
    16     var p=document.getElementsByTagName("i p")[0];
    17     p.appendChild(copy);
    18 
    19   </script>
    jQuery中的DOM-10.复制节点

    * 事件

     1      * click() dbclick()
     2      * ready() - 类似于window.onload的作用
     3       * 写法
     4        * $(document).ready(function(){});
     5        * $().ready(function(){});
     6        * $(function(){}); - 简写
     7       * ready与onload的区别 - 面试
     8        * ready
     9         * 具有简写方式
    10         * 在一个html页面允许多个
    11         * 等待html页面中所有DOM结构加载完毕就可以执行
    12        * onload
    13         * 没有简写方式
    14         * 在一个html页面只能有一个
    15         * 必须等待html页面中所有内容全部加载完毕后才能执行
     1 <h3>jQuery中的事件-11.ready()</h3>
     2   <input type="text" id="user11" value="请输入你的用户名">
     3   <script>
     4   //jQuery
     5     //var $user=$("#user11");
     6     //console.log($user.val());
     7   //DOM
     8    //var user=document.getElementById("user11");
     9    //console.log(user.value);
    10   $(document).ready(function(){
    11     var $user=$("#user11");
    12     console.log($user.val());
    13   });
    14   window.onload=function(){
    15     var $user=$("#user11");
    16     console.log($user.val());
    17   }
    18   </script>
    jQuery中的事件-11.ready()
     1 <h3>jQuery中的事件-12.ready与onload的区别1</h3>
     2   <p onload="myLoad()">
     3    <input type="text" id="user12" value="请输入你的用户名"><br>
     4    <input type="text" id="pwd12" value="请输入你的密码">
     5   </p>
     6    <script>
     7     window.onload=function(){//同时写两个onload会覆盖第一个
     8         var user=document.getElementById("user12");
     9         console.log(user.value);
    10     function myLoad(){
    11         var pwd=document.getElmentById("pwd");
    12         console.log(pwd.value);
    13     }
    14 }
    15    </script>
    16 
    17     <hr>
    jQuery中的事件-12.ready与onload的区别1
     1 <h3>jQuery中的事件-13.ready与onload的区别2</h3>
     2   <img src="n9.jpg"/>
     3   <script>
     4     var startTime=new Date().getTime();
     5     $(function(){
     6         var endTime1=new Date().getTime();
     7         console.log("ready执行时间:"+(endTime1-startTime)+"ms");
     8     });
     9     window.onload=function(){
    10         var endTime2=new Date().getTime();
    11         console.log("onload执行时间:"+(endTime2-startTime)+"ms");
    12     }
    13   </script>
    14   
    15    <hr>
    jQuery中的事件-13.ready与onload的区别2

    * 事件绑定与解绑

     1       * bind(type,data,fn) - 绑定事件
     2        * type - 设置绑定的事件名称,string类型
     3         * 如果绑定多个事件时,使用空格隔开
     4        * data - 可选项,作为event.data属性值传递给事件对象的额外数据对象
     5        * fn - 事件对应得处理函数
     6       * unbind() - 解绑事件
     7         * type - 指定解绑的事件名称
     8          * 默认不传递任何内容 - 解绑所有事件
     9          * 指定单事件 - 解绑指定事件
    10          * 指定多事件 - 解绑多个事件
    11       * 绑定与解绑允许指定那些事件?
    12           blur,focus,focusin,focusout,load,resize,scroll,unload,click,dbclick,
    13       mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,
    14       change,select,submit,keydown,keypress,keyup,error.
    15       * 注意
    16        * 所谓的click()事件是bind('click')的简写方式
     1 <h3>jQuery中的事件-14.单事件绑定与解绑</h3>
     2   <div class="d1">
     3     <b>什么是jQuery?</b>
     4   </div>
     5   <div class="d2">
     6     <p>jQuery是一个轻量级的js库。</p>
     7   </div><br><br><br>
     8   <script>
     9     /*$(".d1").click(function(){
    10         if($(".d2").is(":hidden")){
    11             $(".d2").show(3000);
    12         }else{
    13             $(".d2").hide(3000);
    14         }
    15     });*/
    16     /*
    17     * bind(type,data,fn)方法 - 事件绑定
    18     * * type - 设置绑定的事件名称,string类型
    19     * * data - 可选项,作为event.data属性值传递给事件对象的额外数据对象
    20     * * fn - 事件对应得处理函数
    21     */
    22     $(".d1").bind("click",function(){
    23         if($(".d2").is(":hidden")){
    24             $(".d2").show(3000);
    25         }else{
    26             $(".d2").hide(3000);
    27         }
    28     });
    29     /*
    30     * unbind() - 解绑事件
    31     */
    32     $(".d1").unbind();
    33   </script>
    jQuery中的事件-14.单事件绑定与解绑
     1 <h3>jQuery中的事件-15.多事件绑定与解绑</h3>
     2   <div class="d3">
     3     <b>什么是jQuery?</b>
     4   </div>
     5   <div class="d4">
     6     <p>jQuery是一个轻量级的js库。</p>
     7   </div>
     8   <script>
     9     /*
    10     * 鼠标悬停事件
    11     * * mouseover
    12     * * mouseout
    13     */
    14     /*$(".d3>b").mouseover(function(){
    15         $(".d4").show(1000);
    16     }).mouseout(function(){
    17         $(".d4").hide(1000);
    18     });*/
    19     
    20     /*
    21     * bind()方法 - 事件绑定
    22     * * type - 指定绑定的事件名称为多个时,中间使用空格隔开
    23     * 
    24     */
    25     $(".d3").bind("mouseover mouseout",function(){
    26         if($(".d4").is(":hidden")){
    27              $(".d4").show(1000);
    28         }else{
    29             $(".d4").hide(1000);
    30         }
    31      });
    32 
    33     /*
    34     * unbind() 方法 - 解绑事件
    35     * * type - 指定解绑的事件名称
    36     *   * 没值 - 都解绑
    37     *   * 指定单事件 - 解绑指定事件
    38     *   * 指定多事件 - 解绑多个事件
    39     */
    40     $(".d3").unbind("mouseover");
    41   </script>
    jQuery中的事件-15.多事件绑定与解绑

    * 事件对象(event)

     1       * 事件对象被封装在事件对应的处理函数的参数
     2        ele.onclick=function(event){
     3             event
     4        }
     5       * 常用用法
     6        * pageX/clientX/offsetX/x - 当前x轴
     7        * pageY/clientY/offsetY/y - 当前y轴
     8        * target - 当前绑定事件的源对象(元素)
     9        * returnValue - 返回值,Boolean类型
    10         * return false - 阻止页面的默认行为
    11        * which/keyCode/charCode - 键盘对应值

     * 事件冒泡
       * 捕获
       * 冒泡

     * 事件切换

    1   * hover(over,out)方法
    2        * over - onmouseover事件的处理函数
    3        * out - onmouseout事件的处理函数
     1 /*
     2     *javascript的5个原始类型
     3     * *boolean
     4     * *string
     5     * *number
     6     * *undefined
     7     *  * 报错undefined - 不存在
     8     *  * 提示undefined - 存在,但没值
     9     * *null - 释放资源
    10     */
    1   <h3>jQuery中的事件-16.trigger()</h3>
    2   <button id="16">按钮16</button>
    3   <script>
    4     $("#16").click(function(event,a,b){
    5         console.log(event.target);
    6         console.log("a:"+a);
    7         console.log("b:"+b);
    8     }).trigger("click",['this is a.','this is b.']);
    9   </script>
    jQuery中的事件-16.trigger()
     1 <h3>jQuery中的事件-17.事件切换hover()</h3>
     2   <div class="d5">
     3     <b>什么是jQuery?</b>
     4   </div>
     5   <div class="d6">
     6     <p>jQuery是一个轻量级的js库。</p>
     7   </div>
     8   <script>
     9     /*$(".d5").mouseover(function(){
    10         $(".d6").show(1000);
    11     }).mouseout(function(){
    12         $(".d6").hide(1000);
    13     });*/
    14     $(".d5>b").hover(function(){
    15         // onmouseover
    16         $(".d6").show(1000);
    17     },function(){
    18         // onmouseout
    19         $(".d6").hide(1000);
    20     });
    21   </script>
    22     <br><br><br><br>
    23  <hr>
    jQuery中的事件-17.事件切换hover()
     1 <h3>jQuery中的事件-18.toggle()*****1.9-</h3>
     2   <div class="d7">这是jQuery事件。</div>
     3   <script>
     4     $(".d7").toggle(function(){
     5         $(".d7").css("background","red");
     6     },function(){
     7         $(".d7").css("background","green");
     8     });
     9   </script>
    10   <br><br><br><br>
    11 
    12  </body>
    13 </html>
    jQuery中的事件-18.toggle()*****1.9-
  • 相关阅读:
    Codeforces 1355 D. Game With Array
    Codeforces 1355 C. Count Triangles
    Codeforces Round #641 (Div. 2)
    Codeforces 1345 D
    hdu6787(骰子+往回推的传输带问通过方案,dp)
    hdu6745(渐减1过程的最多互质对数,dp)
    D Points Construction Problem(思维构造,等周定理)
    Codeforces Round #658 (Div. 2)D(01背包)
    Codeforces Round #655 (Div. 2)E(矩阵范围dp)
    hdu4622([u,v]内有多少个子串)
  • 原文地址:https://www.cnblogs.com/Dummer/p/11547519.html
Copyright © 2020-2023  润新知