首页 > Web开发 > 详细

js库jquery的认识了解

时间:2019-08-03 15:48:30      阅读:95      评论:0      收藏:0      [点我收藏+]

jquery的认识

  • jquery是目前使用最广泛的javascript函数库

  • 参考jquery中方文档: http://jquery.cuishifeng.cn/

  • 调用

    <script type="text/javascript" src="jquery-1.12.2.js"></script>
    <script type="text/javascript">
    
        $(function(){          // 操作
    
    });
    
    
    </script>    
  • 常用选择器

    $('#myId') //选择id为myId的网页元素
    $('.myClass') // 选择class为myClass的元素
    $('li') //选择所有的li元素
    $('#ul1 li span') //选择id为为ul1元素下的所有li下的span元素
    $('input[name=first]') // 选择name属性等于first的input元素
  • 对选择集进行过滤

    $('div').has('p'); // 选择包含p元素的div元素
    $('div').not('.myClass'); //选择class不等于myClass的div元素
    $('div').filter('.myClass'); //选择class等于myClass的div元素
    $('div').eq(5); //选择第6个div元素

    ?

  • 选择集转移

    $('div').prev(); //选择div元素前面紧挨的同辈元素
    $('div').prevAll(); //选择div元素之前所有的同辈元素
    $('div').next(); //选择div元素后面紧挨的同辈元素
    $('div').nextAll(); //选择div元素后面所有的同辈元素
    $('div').parent(); //选择div的父元素
    $('div').children(); //选择div的所有子元素
    $('div').siblings(); //选择div的同级元素
    $('div').find('.myClass'); //选择div内的class等于myClass的元素
  • jquery样式操作

    // 获取div的样式
    $("div").css("width");
    $("div").css("color");
    
    //设置div的样式
    $("div").css("width","30px");
    $("div").css("height","30px");
    $("div").css({fontSize:"30px",color:"red"});
    
    // 操作样式类名
    $("#div1").addClass("divClass2") //为id为div1的对象追加样式divClass2
    $("#div1").removeClass("divClass")  //移除id为div1的对象的class名为divClass的样式
    $("#div1").removeClass("divClass divClass2") //移除多个样式
    $("#div1").toggleClass("anotherClass") //重复切换anotherClass样式
  • jquery事件

    // 放在$(function(){})中
    $('#btn1').click(function(){
    
        // 内部的this指的是原生对象
    
        // 使用jquery对象用 $(this)
    
    })
    
    
    blur() 元素失去焦点
    focus() 元素获得焦点
    click() 鼠标单击
    mouseover() 鼠标进入(进入子元素也触发)
    mouseout() 鼠标离开(离开子元素也触发)
    mouseenter() 鼠标进入(进入子元素不触发)
    mouseleave() 鼠标离开(离开子元素不触发)
    hover() 同时为mouseenter和mouseleave事件指定处理函数
    ready() DOM加载完成
    resize() 浏览器窗口的大小发生改变
    scroll() 滚动条的位置发生变化
    submit() 用户递交表单
    change() 改变时发生变化
  • jquery效果

    fadeIn() 淡入
    
        $btn.click(function(){
    
            $('#div1').fadeIn(1000,'swing',function(){
                alert('done!');
            });
    
        });
    
    fadeOut() 淡出
    fadeToggle() 切换淡入淡出
    hide() 隐藏元素
    show() 显示元素
    toggle() 切换元素的可见状态
    slideDown() 向下展开
    slideUp() 向上卷起
    slideToggle() 依次展开或卷起某个元素
    
    // 动画
    $('#div1').animate({
        width:300,
      // width:'+=100',
        height:300
    },1000,'swing',function(){
        alert('done!');
    });
    
  • jquery的属性操作

    // 取出html内容
    
    var $htm = $('#div1').html();
    
    // 设置html内容
    
    $('#div1').html('<span>添加文字</span>');
    
    // 取出图片的地址
    
    var $src = $('#img1').prop('src');
    
    // 设置图片的地址和alt属性
    
    $('#img1').prop({src: "test.jpg", alt: "Test Image" });
  • jquery循环

    $(function(){
        $('.list li').each(function(i){
            $(this).html(i);
        })
    })
    
    <ul class="list">
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
    </ul>
    
    
    // 第二种循环
    $.each(数组名, 回调函数)
    
  • 事件冒泡

    在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document对象(有些浏览器是window)。

    阻止 return false;

  • 事件委托

    事件委托就是利用冒泡的原理,把事件加到父级上,通过判断事件来源的子集,执行相应的操作,事件委托首先可以极大减少事件绑定次数,提高性能;其次可以让新加入的子元素也可以拥有相同的操作。

    $(function(){
        $list = $('#list');
        $list.delegate('li', 'click', function() {
            $(this).css({background:'red'});
        });
    })
    ...
    <ul id="list">
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
    </ul>
  • jquery节点操作

    1、append()和appendTo():在现存元素的内部,从后面插入元素
    var $span = $('<span>这是一个span元素</span>');
    $('#div1').append($span);
    ......
    <div id="div1"></div>
    
    
    2、prepend()和prependTo():在现存元素的内部,从前面插入元素
    
    3、after()和insertAfter():在现存元素的外部,从后面插入元素
    
    4、before()和insertBefore():在现存元素的外部,从前面插入元素
    删除节点
    $('#div1').remove();
  • json数据格式

    {
        "name":"tom",
        "age":18
    }
    
    // 与json对象不同的是,json数据格式的属性名称和字符串值需要用双引号引起来,用单引号或者不用引号会导致读取数据错误。 
    // json的另外一个数据格式是数组,和javascript中的数组字面量相同。
    
    // ["tom",18,"programmer"]
  • ajax

    $.ajax({
        url: 'js/data.json',
        type: 'GET',
        dataType: 'json',
        data:{'aa':1}
    })
    .done(function(data) {
        alert(data.name);
    })
    .fail(function() {
        alert('服务器超时,请重试!');
    });
    
    // data.json里面的数据: {"name":"tom","age":18}
  • jsonp
    ajax只能请求同一个域下的数据或资源,有时候需要跨域请求数据,就需要用到jsonp技术,jsonp可以跨域请求数据,它的原理主要是利用了标签可以跨域链接资源的特性。jsonp和ajax原理完全不一样,不过jquery将它们封装成同一个函数。

    $.ajax({
        url:'js/data.js',
        type:'get',
        dataType:'jsonp',
        jsonpCallback:'fnBack'
    })
    .done(function(data){
        alert(data.name);
    })
    .fail(function() {
        alert('服务器超时,请重试!');
    });
    
    // data.js里面的数据: fnBack({"name":"tom","age":18});
  • 本地存储

    jquery 设置cookie
    $.cookie('mycookie','123',{expires:7,path:'/'});
    jquery 获取cookie
    $.cookie('mycookie');
  • jqueryUI

    jQuery UI是以 jQuery 为基础的代码库。包含底层用户交互、动画、特效和可更换主题的可视控件。我们可以直接用它来构建具有很好交互性的web应用程序。

  • bookstrap

    简单、直观、强悍的前端开发框架,让web开发更迅速、简单(了解了一下没学)

  • 正则表达式

    • 写法

      var re=new RegExp(‘规则‘, ‘可选参数‘);
      var re=/规则/参数;

    • 常用函数

      • test

        用法:正则.test(字符串) 匹配成功,就返回真,否则就返回假

      • replace

        用法:字符串.replace(正则,新的字符串) 匹配成功的字符去替换新的字符

      var sTr01 = 'abcdefedcbaCef';
      var re01 = /c/;
      var re02 = /c/g;
      var re03 = /c/gi;
      
      var sTr02 = sTr01.replace(re01,'*');
      var sTr03 = sTr01.replace(re02,'*');
      var sTr04 = sTr01.replace(re03,'*');
      alert(sTr02); // 弹出 ab*defedcbaCef
      alert(sTr03); // 弹出 ab*defed*baCef
      alert(sTr04); // 弹出 ab*defed*ba*ef
      
      // 常用正则
      
      //用户名验证:(数字字母或下划线6到20位)
      var reUser = /^\w{6,20}$/;
      
      //邮箱验证:        
      var reMail = /^[a-z0-9][\w\.\-]*@[a-z0-9\-]+(\.[a-z]{2,5}){1,2}$/i;
      
      //密码验证:
      var rePass = /^[\w!@#$%^&*]{6,20}$/;
      
      //手机号码验证:
      var rePhone = /^1[3458]\d{9}$/;

      ?

js库jquery的认识了解

原文:https://www.cnblogs.com/QunG/p/11294934.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!