1、基础:

Jquery类库定义了一个全局函数:JQuery(); 别名$.是JQuery在全局命名空间中定义的唯一两个变量。返回一个新创建的JQuery对象;

另:JQuery中定义的许多方法返回值都是JQuery对象(方法的调用者);JQuery中函数:$.each() JQuery中方法:**.each()没有$符号;

JQuery方法的4种不同调用方式:

  • 参数是字符串表示的CSS选择器:$('.class')返回当前文档中匹配到的元素集。第二个参数是可选的,值为一个元素或JQuery对象;这时返回的是特定元素的子元素中匹配到的元素集;
  • 参数是Element、Document或Window对象,返回这些对象封装成的JQuery对象;
  • 参数是HTML文本字符串:(不能是纯文本,会被当做CSS字符串的)返回文本创建好的HTML元素并封装成的JQuery对象;此方式接受可选的第二个参数;1、可以用Document对象来指定与所创建元素相关联的文档。2、可以使用object对象,该对象的属性名是Jquery关键字时,可用于传入属性值;
  • 参数为一个函数:文档加载完毕时调用;相当于onLoad()函数;形如$(function(){})或JQuery(function(){});

JQuery遍历用的几个基础方法:

  • each(): 例$('div').each(function(index,this){});此方法唯一参数为一个回调函数,回调函数的有两个参数:索引值和this(指代当前元素Element,原生文档对象),this使用JQuery方法时需要封装一下$(this); 如果回调函数返回false时,遍历将中断;
  • map(); 例$(':checkbox').map(function(){return this.name}).toArray();   参数与以上方法基本相同,回调函数中的参数可以不写,且回调函数返回null或undefined时,此值将被忽略;map的返回值为新的包含回调函数所有返回值的JQuery对象;
  • index() : 参数为一个元素或字符串(当做CSS选择器使用),返回值为该元素在此JQuery对象中的索引值,找不到返回-1;
  • is() : 例:$(div).each(function(){if($(this).is(':hidden')) return;}); 参数是一个选择器,匹配到就返回true;

2、JQuery中的属性操作:

   JQuery使用同一个方法来获取和设置属性,区别是参数的不同,类似于重载;

  setter(设置)时返回的是JQuery对象;getter(获取)时返回单个值(元素);所以链式调用不能使用getter;

  setter接受对象参数:{key:value;k:v} 里面是属性名与属性值的k-v形式;

  • HTML属性:设置:$("id class ele...").attr('name','value'),获取:$('').attr('name'); 移除:$().removeAttr('name');
  • CSS属性:  设置:$().css(k,v) ; 获取:$().css(key);
  • CSS类:     设置:$("h1").addClass('classname1,name2'); 删除:$("h1").removeClass('name1,name2');               切换(如果存在就删除,不存在就添加):$('div').toggleClass('name1,name2'); 检测:$('div').hasClass('name');或 $('#di').is('name');只接受单个类名;
  • HTML表单: 设置:$("#inputname").val('text'); $('input:checkbox').val(["v1","v2"]); 获取:$("#ipname").val();
  • HTML元素: 设置:text():纯文本;html():HTML内容格式; x.html() === x[0].innerHTML;
  • 元素数据:   设置与获取与文档、元素、window对象相关联的数据 $('div').data("x",1); 获取$('div').data('x');

3、文档操作:

  

4、JQuery中的处理事件:

  1.事件简单注册:$("p").click(function(){$(this).css('''')});  //以click为例,其他如blur() change() dbclick() mousedown()等;

  2.事件高级注册:$("p").bind('click',function(){$(this).css('''')});   $("p").one('click',function(){$(this).css('''')});

     bind():一般有两个参数,第一个参数为事件名称,可为多个且用空格分开,第二个参数为处理函数;

         可以有三个参数,第一个参数和第三个参数为事件名与处理函数,第二个参数可为任何值,被设置为Event对象的data属性;

         其一特性是允许为注册事件处理程序指定多个命名空间,方便后续触发和卸载;$("p").bind("click.mymod.ym",f);

        另:第一个参数可为对象$('a').bind({mouseup:f,mousedown:g}); 如果有第二个参数,则为函数f与g的参数;

     one() : 原理与bind()一样,只是注册的事件触发一次后会自动注销;

  3.触发事件:手动触发 $("#form").sumbit() === $("#form").trigger("sumbit");

        $('p').trigger("click.my"); //触发特定命名空间下的处理程序;

        $('p').trigger("click!");   //触发没有命名空间的单击处理程序;

        $('p').trigger('click','true'/[]);  //第二个参数为触发的处理程序的参数,传入数组时为多个参数;

  4.注销事件:$('p').unbind('click');  $('p').unbind('.my'); 解绑命名空间my下的所有绑定事件

        //注销click事件,只会注销bind的事件;

  5.实时事件:便于给新创建的元素注册事件处理程序;绑定:$(document).delegate('a','mouseover',f);

        解绑:$(document).undelegate('a');

5、动画效果:

  1、简单Jquery动画:

    

  2、自定义动画:aniamte()方法,此方法接收两个参数:

    第一个指定动画内容,包括要变化的css属性和它们的目标值;

    第二个参数是可选的,指定如何定制动画;主要属性有 时长:duration,回调:complete ,每帧:step ,缓动:easing

    缓动函数名有:swing 正弦函数 linear:线性; $("img").animate({wiidth:100},{da...:100,easing:"swing"});

  3、动画的取消:stop():停止选中元素的当前正在执行的动画;  delay():延迟动画,参数为延迟时间;

    

JavaScript类库---JQuery(一)的更多相关文章

  1. JavaScript类库---JQuery(二)

    接上: 6.Ajax:  一个基础底层函数:jQuery.ajax();  //高级工具函数都会调用此函数:  一个高级工具方法:load() ;  四个高级工具函数:jQuery.getScript ...

  2. 编写Javascript类库(jQuery版) - 进阶者系列 - 学习者系列文章

    这些年主要关注于项目管理方面的工作,编码就比较少了.这几天比较空闲,就想把原来的经验沉淀下来,一个是做好记录,以后如果忘记了还能尽快找回来,第二个是写写博文,算是练练手笔吧. 言归正传,这次写的是Ja ...

  3. 编写Javascript类库(jQuery版

    编写Javascript类库(jQuery版) - 进阶者系列 - 学习者系列文章 Posted on 2014-11-13 09:29 lzhdim 阅读(653) 评论(1) 编辑 收藏 本系列文 ...

  4. 【javascript类库】zepto和jquery的md5加密插件

    [javascript类库]zepto和jquery的md5加密插件 相信很多人对jQuery并不陌生,这款封装良好的插件被很多开发者使用. zepto可以说是jQuery在移动端的替代产品,它比jQ ...

  5. javascript 框架、根基技巧、布局、CSS、控件 JavaScript 类库

    预筹备之 JavaScript 今朝支流的 JavaScript 框架排名中,jQuery 和 Ext 可算是佼佼者,得到了用户的普遍好评.海内的一些框架许多也是模仿 jQuery 对 JavaScr ...

  6. 支持Json进行操作的Javascript类库TAFFY DB

    前段时间工作中用到Json数据,希望将一些简单的增删改查放到客户端来做,这样也能减少服务器端的压力.分别查找了几个可以对Json进行操作的javascript 类库,最终选定了TAFFY DB.原因如 ...

  7. 曾经的超级明星类库jQuery未来也许不再会被前端程序猿追捧了!

    作为火了十多年的老牌明星类库jQuery, 相信做前端的小伙伴肯定都或多或少的使用和追捧过,当然我也不例外, 作为第一个学习的js类库,我曾经也觉得它是真正的唯一, 帮助你处理恶心的浏览器CSS/JS ...

  8. 12个非常不错的javascript类库

    Javascript是一个解释性的编程语言.最初作为浏览器的一部份在浏览器中运行,可以和用户交互,并且控制浏览器,异步通讯,修改显示的document.在这篇文章中,我们收集了12款最新的Javasc ...

  9. jQuery学习之路(7)- 用原生JavaScript实现jQuery的某些简单功能

    ▓▓▓▓▓▓ 大致介绍 学习了妙味,用原生的JavaScript实现jQuery中的某些部分功能 定义自己的函数库lQuery ▓▓▓▓▓▓ $()选择器的实现 jQuery是面向对象的,所以自己编写 ...

随机推荐

  1. Android开发6:Service的使用(简单音乐播放器的实现)

    前言 啦啦啦~各位好久不见啦~博主最近比较忙,而且最近一次实验也是刚刚结束~ 好了不废话了,直接进入我们这次的内容~ 在这篇博文里我们将学习Service(服务)的相关知识,学会使用 Service ...

  2. SharePoint 2013 搭建app本地开发环境

    使用SharePoint App,如果要通过应用程序目录分发 SharePoint 相关应用程序,如具有完全控制权限的 SharePoint 相关应用程序(无法部署到 Office 365 网站),则 ...

  3. iOS--xuer(registration)

    这个登录页面包含了自适应屏幕的大小,数字用户登录键盘是数字键盘.隐藏键盘.隐藏密码等等. ViewController.h #import <UIKit/UIKit.h> #import ...

  4. NSError

    -(NSString * )backErrorString{ //    self.code; //http://blog.csdn.net/linkai5696/article/details/59 ...

  5. MVC学习系列3--怎么从控制器向视图传递数据

    在MVC中,从控制器到视图,传递数据,可以使用 ViewData 和 ViewBag:同样从视图到控制器,传递数据,可以使用Post,QueryString,或者隐藏域:最后从控制器到控制器,传递数据 ...

  6. fillStyle图片填充

    图片自找 <!DOCTYPE HTML> <head> <meta charset = "utf-8"> <title>canvas ...

  7. MSDB数据库置疑的解决方法

    1.原因 机房停电,服务器非法关机,导致MSDB数据库被“置疑” 2.Msdb数据库的作用 Msdb 数据库供SQLServer 代理程序调度警报和作业以及记录操作员时使用.比如,我们备份了一个数据库 ...

  8. PHP实现堆排序

    经验 工作了,面试我工作这家公司时被技术面打击得不行,因为自己的数据结构等基础学得实在太差,虽然原来是想做设计师的说...不过看在PHP写得还凑合的份上能来实习了,但还是决心恶补一下基础. 其实自己之 ...

  9. Python基础面向对象成员

    面向对象中成员 字段: 静态字段保存在类中:静态字段在代码加载时被创建 普通字段保存在对象中: 规则: 普通字段只能用对象访问: 静态字段用类去访问(万不得已的时候可以使用对象访问) #!/usr/b ...

  10. Mysql慢查询和慢查询日志分析

     Mysql慢查询和慢查询日志分析   众所周知,大访问量的情况下,可添加节点或改变架构可有效的缓解数据库压力,不过一切的原点,都是从单台mysql开始的.下面总结一些使用过或者研究过的经验,从配置以 ...