zoukankan      html  css  js  c++  java
  • JQuery

    1.为什么要使用JQuery

      JQuery的火是有它的原因的,我们在用js写代码的时候会遇到一下一些问题:

        1.window.onload事件的覆盖问题,只能写一个事件

        2.代码的容错性差.

        3.浏览器的兼容性问题

        4.书写很繁琐,代码量多.

        5.代码很乱,各个页面到处都是

        6.动画系效果很难实现

    jquery这些问题统统解决

      要明确的是jquery是js的一个库,封装了我们开发过程中场常用的一些功能,方便我们调用

    js库是把我们常用的功能放到一个单独的文件中,我们用的时候,直接引用到页面里即可

    关于jquery的相关资料:

    2.jquery的使用

    使用步骤:

      1.引包

      2.入口函数

      3.功能实现代码(事件处理)

     

    引入的包的代码一定放在js代码的最上面

     3.jquery的两个版本

      一个是没有压缩版本一个是压缩版本.一般在开发的过程中使用任意一个都可以,但是在项目上线的时候就推荐使用压缩版

    4.jquery的入口函数和$符号

      4.1入口函数(重要)

        原生js的入口函数的指的是:window.onload=function() {}

    //原生 js 的入口函数。页面上所有内容加载完毕,才执行。
            //不仅要等文本加载完毕,而且要等图片也要加载完毕,才执行函数。
           window.onload = function () {
               alert(1);
           }

        jquery的入口函数写法有三种:

      1.文档加载完毕.图片不加载的时候,就可以执行这个函数

    $(document).ready(function () {
               alert(1);
           })

      2.文档加载完毕,图片 不加载的时候.就可以执行这个函数  (比较简洁)功能与一相似)

    $(function () {
               alert(1);
           });

      3.文档加载完毕,图片也加载完毕的时候,在执行这个函数

     $(window).ready(function () {
               alert(1);
           })

    jquery入口函数与js入口函数的区别:

      区别一:书写的个数不同:

        js的入口函数只能出现一次,出现多次会存在事件覆盖的问题

        jquery的入口函数.可以出现任意多次.并不存在事件覆盖问题

      区别二: 执行时机不同  

        js的入口函数是在所有的文资源加载完毕后,才执行,这些文件资源包括:页面文档,外部的js文件,外部的css文件,图片

        jquery的入口函数,是在加载文档完成后,就执行.文档加载完成指的是:DOM树加载完成后,就可以操作DOM了,不用等到所有的外部资源都加载完毕

        文档加载的顺序:  从上往下  边解析边执行

    $实际上是表示一个函数名

      

     $(); // 调用上面我们自定义的函数$
    
     $(document).ready(function(){}); // 调用入口函数
    
     $(function(){}); // 调用入口函数
    
     $(“#btnShow”) // 获取id属性为btnShow的元素
    
     $(“div”) // 获取所有的div标签元素

    5.js中的DOM对象和jQuery对象的比较(重点  难点)

      二者的区别:

        通过JQuery获取的元素是一个数组,数组中包含这原生JS中的DOM对象.

    针对下面这样一个div结构:

      

    <div></div>
        <div id="app"></div>
        <div class="box"></div>
        <div class="box"></div>
        <div></div

    通过原生的js获取这些元素节点的方式是:

     var myBox = document.getElementById("app");           //通过 id 获取单个元素
     var boxArr = document.getElementsByClassName("box");  //通过 class 获取的是伪数组
     var divArr = document.getElementsByTagName("div");    //通过标签获取的是伪数组

    通过jquery获取这些元素节点的方式是:  (获取的都是数组)

    console.log($('#app'));
    console.log($('.box'));
    console.log($('div'));

    设置当前四个div的样式:

    $('div').css({
                    'width': '200px',
                    'height': '200px',
                    "background-color":'red',
                    'margin-top':'20px'
                })

    由于jquery自带了css()的方法,我们还可以直接在代码中给div设置css属性

    总结:jquery就是把DOM对像重新包装了一下,让其具有了jquery方法

    6.二者的相互转换  

      1.DOM对象转换成jquery对象

    $(js对象);

      2.jquery对象转换为DOM对象

    jquery对象[index];      //方式1(推荐)
    
    jquery对象.get(index);  //方式2

     总结:如果想要用哪种方式设置属性或方法,必须转换成该类型

     

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <script src="jquery-3.3.1.js"></script>
        <script>
            //入口函数
            jQuery(function () {
                var jqLi = $("li");
                for (var i = 0; i < jqLi.length; i++) {
                    if (i % 2 === 0) {
                        //jquery对象,转换成了js对象
                        jqLi[i].style.backgroundColor = "pink";
                    } else {
                        jqLi[i].style.backgroundColor = "yellow";
                    }
                }
            });
        </script>
    </head>
    <body>
    <ul>
        <li>小马哥</li>
        <li>小马哥</li>
        <li>小马哥</li>
        <li>小马哥</li>
        <li>小马哥</li>
        <li>小马哥</li>
    </ul>
    </body>
    </html>
    隔行换色代码

    效果如下:

    7.jquery的选择器

    8.基本过滤选择器

    9.属性选择器

     

    10.筛选选择器

        

     

  • 相关阅读:
    singleton 创建static类型的对象
    记忆曲线 遗忘曲线
    创建classic 得到函数 调用函数
    abstract factory 创建相互关联的类
    log4j PatternLayout
    C#中override重写与new隐藏的区别,以及C#与Java的override区别 转
    iptables如何做内网的https端口映射 转
    得到一棵树 取自表内自递归(即ID 与ParentID)
    Common.TcpLibTcpClientT
    得到汉字的首拼音字符 ZT
  • 原文地址:https://www.cnblogs.com/RootEvils/p/9762376.html
Copyright © 2011-2022 走看看