zoukankan      html  css  js  c++  java
  • jQuery1

    jQuery的优缺点与版本,和引入方法:

    * jQuery
    * 用原生js封装的插件库
    *
    * 优点:
    * 1.开发效率大大的提高。
    * 2.获取节点变得非常的便捷
    * 3.某些版本把IE678的兼容都做好了
    * 4.做动画的时候,有很多API提供给用户
    *
    * 缺点:
    * 1.只使用少部分功能的时候,也必须把整个库引入进来,
    * 2.速度慢,没有原生的快。
    *
    * 版本:
    * 1.x.x 兼容IE678
    * 2.x.x 采用了大部分的css3的新属性,放弃了IE678的兼容
    * 3.x.x 实在2的基础上,来完善或者优化性能。3是2的升级版,也就是说如果不考虑兼容IE678的问题,那么就采用最新版

    1  <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
    2     <!--<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>-->

    基本用法:

    $():括号内有三种内容,而后可通过点进行属性和方法的操作

      string 选择器 / 标签结构(创建你写的结构的标签)

       object DOM节点

       function DOM结构加载完成后执行的回调函数 这个函数可以接受一个形参,这个形参代表了 $ 在这个函数内部的表现形式

    1     var box = document.querySelectorAll("#box p");
    2 
    3     $("<div><span>hello</span></div>").appendTo(document.body)
    4 
    5     
    6 //$(box).appendTo(document.body)

    eq()方法的使用

     1 <body>
     2     <p></p>
     3     <p></p>
     4     <p></p>
     5 <script>
     6     /*
     7     *       eq()
     8     *           接收一个数字(序号),返回一个独立的jq对象
     9     *
    10     * */
    11     $("p").eq(1).html(123)
    12 
    13 
    14 
    15 </script>
    16 </body>

    js对象和jq对象的相互转换

      * jq对象转js对象
        * .get(传序号)
        * [下标]
    *
      * js对象转jq对象
        * $(DOM节点)

     var box = document.getElementById("box");
        //$("#box").get(0).innerHTML = 123;jq转换为js
        //$("#box")[0].innerHTML= "456"
        //$(box).html(789)  js转换为jq

    jq的牛逼之处:自带遍历

      

     1 <body>
     2     <p>001</p>
     3     <p>002</p>
     4     <p>003</p><p>001</p>
     5     <p>002</p>
     6     <p>003</p><p>001</p>
     7     <p>002</p>
     8     <p>003</p><p>001</p>
     9     <p>002</p>
    10     <p>003</p>
    11     <script>
    12 
    13         $("p").css("color" , "red");
    14 
    15 
    16 
    17 
    18     </script>
    19 </body>

    jq的遍历:

    each()接收一个函数
    * 这个函数里的this指向当前序号对应的对象, 这个this是一个js对象
    * 函数可以设置一个形参,代表当前对象的序号

    ps:jq的代码不能跟js的代码混合使用?

    * 错,逻辑错误。因为jq就是用原生js封装的。所以jq的代码也是js的代码。
    * 如果说需要使用jq来写,那么请尽量使用jq的语法来写,除了非必须情况,请不要混着写。

    <body>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    
    <script>
        /*
        *   each()接收一个函数
        *       这个函数里的this指向当前序号对应的对象, 这个this是一个js对象
        *       函数可以设置一个形参,代表当前对象的序号
        *
        *   jq的代码不能跟js的代码混合使用?
        *       错,逻辑错误。因为jq就是用原生js封装的。所以jq的代码也是js的代码。
        *       如果说需要使用jq来写,那么请尽量使用jq的语法来写,除了非必须情况,请不要混着写。
        *
        * */
    
        $("p").each(function (i) {
            //this.innerHTML = i;
            $(this).html(i)
        });
    
    
    </script>
    
    </body>

    length是属性,index()是方法返回索引

    $的一些API:

    1.属性API:

     1 <body>
     2 <div id="box" class="on wrap"></div>
     3 <input type="text" value="123456798">
     4 
     5 <script>
     6     /*
     7     *   attr    操作自定义标签属性
     8     *   prop    操作合法的标签属性
     9     *
    10     *   删除属性
    11     *   removeAttr
    12     *   removeProp
    13     * 
    14     * 
    15     *   jq方法的返回值    
    16     *       要看最后一个方法时什么性质的;
    17     *           假如是 获取/读取 性质的。那么一般返回获取到的内容(一般是string类型)
    18     *           假如说是 设置 性质的,那么一般会把对用这个方法的对象返回。
    19     * 
    20     * 
    21     * */
    22     /*var a  = $("input").prop("checked");
    23     alert(a)*/
    24 
    25     //$("#box").attr("goudan","456").removeAttr("id");
    26     
    27 
    28     /*
    29     *
    30     *   addClass        添加类名
    31     *   removeClass     删除类名
    32     *   toggleClass     如果有就删除,如果没有就添加
    33     *
    34     * */
    35 
    36     //$("#box").prop("class" , "");
    37 
    38 
    39     /*
    40     *   html()      ===  innerHTML
    41     *   text()      ===  innerText
    42     *   val()       ===  value
    43     *
    44     *
    45     *
    46     * */
    49     //$("#box").text(123)
    50     alert($("input[type=text]").val())
    51 
    52 </script>
    53 </body>

    2.文档出来API:

     1 <body>
     2 <div class="box"></div>
     3 <script>
     4     /*
     5     *   append
     6     *   appendTo
     7     *
     8     *
     9     *   prepend
    10     *   prependTo
    11     *
    12     * */
    13 
    14     //var $div = $("<div></div>");
    15 
    16     //$div.html(123)
    17     //$("#box").append($div.html(123))
    18     //$div.html(123).appendTo($("#box"))
    19     //$("#box").prepend($div.html(123))
    20 
    21     /*
    22     *   after   添加到谁后面(成为弟弟元素)
    23     *   before  添加到谁前面(成为哥哥元素)
    24     *
    25     *
    26     * */
    27 
    28     //$("#box").before($div)
    29 
    30     /*
    31     *   wrap    给匹配的对象加一个父级
    32     *   unwrap  把父级元素干掉
    33     *   wrapAll
    34     *   wrapInner
    35     *
    36     *
    37     * */
    38 
    39 
    40     //$("#box2").wrap("<span></span>");
    41     //var a = $("span").unwrap();  //返回前面的对象
    42 
    43     //console.log(a)
    44 
    45 
    46     //$("div").wrapAll("<div></div>");
    47 
    48     //$("div").wrapInner("<span></span>");
    49 
    50 
    51     //$("p").wrap("<div></div>")
    52 
    53     /*
    54     *   replaceWith
    55     *   replaceAll
    56     *       了解一下就行
    57     *
    58     *
    59     *
    60     * */
    61 
    62     //$("p").replaceWith("<div></div>")
    63     //$("<span>123</span>").replaceAll($("#p2"))
    64     
    65     
    66     
    67     /*
    68     *   empty   清空子节点           返回调用此方法的对象
    69     *   remove  删除自己(自杀)  不会保留事件        返回被删除对象(后期可以添加回去)
    70     *   detach  删除自己(自杀)  会保留事件         返回被删除对象(后期可以添加回去)
    71     *   clone   克隆对象    返回克隆对象
    72     * 
    73     * 
    74     * 
    75     * */
    76     
    77     //var a = $("#box").empty();    //
    78     //console.log(a)
    79     
    80 
    81     
    82     
    83     /*var a = $("#box").remove();
    84     $(document.body).append(a)*/
    85     /*var  a=  $("#box").detach();
    86     $(document.body).append(a)*/
    87 
    88     var a = $(".box").clone();
    89 
    90     $(document.body).append(a);
    91 
    92     $(".box").click(function () {
    93         alert($(".box").length)
    94     });
    95     
    96 
    97 </script>
    98 </body>

    3.cssAPI:

     1 <body style="height:2000px">
     2 <div id="box">
     3     <div id="box2"></div>
     4 </div>
     5 <script>
     6     /*
     7     *   css()
     8     *
     9     * */
    10 
    11     //alert($("#box").css("color"))
    12 
    13 
    14     /*
    15     *   offset  到文档   设置的时候会进行计算,实际我们设置的值是到文档的距离
    16     *
    17     *   position    到定位父级   只能获取 不能设置
    18     *
    19     *
    20     * */
    21 
    22     /*var a = $("#box").offset().top;
    23     
    24     console.log(a)*/
    25 
    26     /*var a  = $("#box2").position().top;
    27     console.log(a)*/
    28 
    29     /*var a = $("#box2").position();
    30 
    31     console.log(a)*/
    32 
    33 
    34 
    35     /*
    36     *   scrollTop
    37     *   scrollLeft
    38     *       设置/获取 滚动高度/宽度
    39     *
    40     * */
    41     
    42     /*$(document).click(function () {
    43         alert($(this).scrollTop())
    44     })*/
    45     /*$(document).click(function () {
    46         $(this).scrollTop(1500);
    47     })
    48     */
    49     
    50     
    51     /*
    52     *
    53         *   height
    54         *   width
    55         *       获取/设置  样式宽高
    56         *
    57         *   innerWidth
    58         *   innerHeight
    59         *       获取/设置  padding+样式宽高
    60         *
    61         *   outerWidth
    62         *   outerHeight
    63         *       获取/设置  border+padding+样式宽高
    64         *
    65         *
    66         *
    67     * 
    68     * */
    69     
    70     $("#box").outerWidth(500);
    71 
    72 </script>
    73 </body>
  • 相关阅读:
    cf1100 F. Ivan and Burgers
    cf 1033 D. Divisors
    LeetCode 17. 电话号码的字母组合
    LeetCode 491. 递增的子序列
    LeetCode 459.重复的子字符串
    LeetCode 504. 七进制数
    LeetCode 3.无重复字符的最长子串
    LeetCode 16.06. 最小差
    LeetCode 77. 组合
    LeetCode 611. 有效三角形个数
  • 原文地址:https://www.cnblogs.com/letgo-doo/p/8795635.html
Copyright © 2011-2022 走看看