JQuery全面解析(一)

作者: info_gu | 来源:发表于2017-02-22 00:24 被阅读74次

    前言:

          jQuery的使用需要有JavaScript基础,则否你将很难理解操作的目的.

    问题一:

             jq是什么:一个优秀的js库  (js的升级版),大型开发必备


    问题二有什么用:

            1.简化了js的复杂操作

            2.不再需要关心兼容性

            3.提供大量实用方法

    问题三:怎么使用?

           1.登录  网站:http://jquery.com/

           2.点击

         3.

           4.下载之后,得到二个文件,将其中的文件放在你的工程的文件夹

             5.在代码中添加,指向你添加进来的文件即可


    JQ的设计思想:

     选择页面元素

            -1.模拟css选择元素   什么意思呢?

    <body>

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

    <span class ="pow">span</span>

    <body>

    $('#box').css('background','red')  //模拟css找到id选择元素     并且设置背景颜色为红色

    $('.pow').css('background','red')//模拟css找到class选择元素  并且设置div和span标签背景颜色为红色(在这里如果是原生js想要设置还需要for循环遍历 ,使用jq是不是简化很多?)

    $('div').css('background','red')//模拟css找到标签选择元素  并且设置背景颜色为红色

    是不是比原生js :document.getElementById('box').style.background="red"; 要方便的多



            -2.独有表达式选择

    <ul>

    <li></li>

    <li></li>

    <li></li>

    </ul>

    使用jq 将第一个li标签变成红色    操作 $('li:first').css('backgroud','red');

    使用jq 将最后一个li标签变成红色    操作 $('li:last').css('backgroud','red');

    使用jq 将中间li标签变成红色    操作 $('li:eq(2)').css('backgroud','red');  //eq(0) 表示第一个  eq(1) 表示最后一个 eq(2) 表示中间一个

    使用jq 将全部li标签变成红色    操作 $('li').css('backgroud','red');    或者$('ul').children().css('backgroud','red');

    使用jq 将偶数li标签变成红色    操作 $('li:odd').css('backgroud','red');  偶数行全部边红色

    使用jq 将奇数li标签变成红色    操作 $('li:even').css('backgroud','red');  奇数行全部边红色


          -3.多种筛选方法


          如果我想将二个class的box挑选出来怎么办?

          第一种:$('.box').css('background','red')

          第二种:$('li').filter('.box').css('background','red')    //这里的.filter('.box')意思是已.box为class的元素进行过滤.

          如果我想将二个title的hello挑选出来怎么办?

          第一种:$('li').filter('[title=hello]').css('background','red')    //这里的.filter('[title=hello]')意思是已title的hello的条件进行过滤.

    JQ的写法:

             1.方法函数化

    原生js写法:window.onload=function(){}; 

    jQ写法:  $(function(){}) ;                                                   // $();    //像不像函数调用

    原生js写法:innerHTML=123;

    jQ写法:  html(123);

    原生js写法:onclick=function(){};

    jQ写法:  click(function(){});

    //看到这里有点懵?没有关系看看你熟悉的例子把

    案例:模拟点击div 弹出div中的内容的对话框

    //模拟点击div 弹出div中的内容的对话框  原生js写法

    window.onload=function(){

           var  oDiv= document.getElementById('box')

           oDiv.onclick=function(){

               alert(this.innerHTML);

           };

    };

    /*//模拟点击div 弹出div中的内容的对话框  jq写法

    $(function(){

                   $('#box').click(function(){

                       alert($(this).html());      //如果这里你不知道为什么要$(this) ? 因为$(this) 是jQ的写法 ,不能和js写法混用!!!

                       //alert(this.innerHTML);  //这里这样写也可以 ,因为他是纯js写法.  

                       //唯一需要注意的是不能jQ和js一起写.

                   })

    });

    如果觉得有点难? 那么你动手试一试,你会发现当你习惯这样的写法,那么你就会爱上他了!

             2.链式操作


    $(function(){     //这里并没有使用链式调用,看着结构很清晰,但是作为一名日夜加班的程序狗来说,显然是不符合我们的要求.

       var oDiv= $('#box');

       oDiv.html(123);

       oDiv.css('backgroud','red');

       oDiv.onclick(function(){

           alert(123);

       });

       });

    $(function(){    //这里使用链式调用,就是程序狗们追求的简单暴力.      

    $('#box').html(123).css('backgroud','red').click(function(){

        alert(123);

    });

    });

     3.取值赋值合体

      <ul>

         <li>123</li>

         <li>456</li>

         <li>789</li>

         </ul>

    使用原生js如何获取和赋值?

    Oli.innerHTML='abc';     赋值

    alert(Oli.innerHTML);     取值

    使用jq如何获取和赋值?

    $('li').html('abc');  赋值   (需要注意的是赋值是同时给三个li赋值)

    alert($('li').html());  取值 (取值是取到第一个li的值,并没有把三个值全部取出来);     (如果想取全部li值 需要使用循环);

    jq的赋值和取值一般情况下:

    css('width','200px'); 赋值

    css('width')   取值

    jq与js关系:

    可以共存,不能混用


    这里就基本把jq的基本使用和js的区别方式告诉大家,后面会陆续将jquery继续解析给大家!感谢大家 如果有错误请指正,作者是一名android程序狗,目前正在学习前端!欢迎添加作者微信群 一起学习交流! 您的点赞是对作者最大的支持,汪汪汪!!!

    微信群:

    相关文章

      网友评论

        本文标题:JQuery全面解析(一)

        本文链接:https://www.haomeiwen.com/subject/penuwttx.html