jquery基础知识

Jquery基础课程

Jquery基础选择器

1、#id 选择器(使用身份证号来找人)

2、element 选择器(寻找铅笔)

3、.class 选择器(寻找红色铅笔)

4、* 选择器(取走全部铅笔)

5、sele1,sele2,seleN选择器

6、ance desc选择器(后代元素)

7、parent > child选择器(第一代子元素)

8、prev + next选择器(紧邻的后一个元素)

9、prev ~ siblings选择器

 Jquery过滤性选择器

1、:first过滤选择器

2、:eq(index) 过滤选择器

3、:contain(text) 过滤选择器

4、:has(selector)过滤选择器

5、:hidden过滤选择器

6、:visible过滤选择器

7、[attribute=value]属性选择器

8、[attribute!=value]属性选择器

9、[attribute*=value]属性选择器

10、:first-child子元素过滤选择器

11、:last-child子元素过滤选择器

 

Jquery表单选择器

1、:input表单选择器可以实现,它的功能是返回全部的表单元素$(“#frmTest :input”)

2、:text表单文本选择器$(“#frmTest:text”)

3、:password表单密码选择器

4、:radio单选按钮选择器

5、:checkbox复选框选择器

6、:submit提交按钮选择器$(“#frmTest  input:submit”)

7、:image图像域选择器, 使用:image选择器只能获取<input>图像域,而不能获取<img>格式的图像元素

8、:button表单按钮选择器

9、:checked选中状态选择器

10、:selected选中状态选择器

 

jquery操作DOM元素

1、attr()获取,设置元素的属性

2、操作元素内容 text(),html()

3、操作元素样式addClass,css()

4、移除属性和样式 removeAttr()

5、append()向元素内追加内容

6、appendTo()像被选元素内插入内容

7、在元素前后插入内容before(),after()

8、clone()复制元素

9、replaceWith(),replaceAll()替换内容

10、wrap,wrapInner()包裹元素和内容

11、each方法遍历元素$(selector).each(function(index)) function为遍历时的回调函数,index为遍历元素的序列号,它从0开始。

12、remove,empty()删除元素

juqery事件与应用

1、页面加载时触发ready()事件$(document).ready(function(){})或者$(function(){})

2、用bind()方法绑定元素的事件$(selector).bind(event,[data]function)

3、使用hover()方法切换事件$(selector).hover(overout);鼠标移入执行over函数,移出执行out函数

4、使用toggle()方法绑定多个函数$(selector).toggle(fun1(),fun2(),funN(),...),toggle()方法可以在元素的click事件中绑定2个及以上的函数;还可以实现元素的隐藏与显示的切换 $("div").toggle();

5、使用unbind()方法移出已绑定的事件$(selector).unbind(event,fun)

6、使用one方法绑定元素的一次性事件$(selector).one(event,[data],fun)这种方法绑定的事件只会触发一次

7、调用tigger()方法手动触发指定的事件,可以是元素的自带事件,也可以是自定义事件$(selector).trigger(event)

自定义事件比如:

      $(function(){

                 $("div").bind("change-color",function(){

                           $(this).addClass("color");

                 });

                 $("div").trigger("change-color");

       })

8、focus事件在元素获得焦点时触发,blur事件在元素丢失焦点时触发(类似于click

       $("input").bind("focus",function(){

                 $("div").html("请输入你的姓名!")

       })

9、下拉列表框的change事件

    $("select").bind("change",function(){

         $("div").html("你选择的是:"+$(this).val());

   })

10、用live()方法绑定元素的事件$(selector).live(event,[data],fun)。live()方法还可以绑定动态元素,即使用代码添加的元素事件

 

 

Jquery动画特效(显示隐藏,上下滑动,淡入淡出,动画效果)

1、调用hide()和show()方法隐藏和显示元素$(selector).hide(speed,[callback])$(selector).show(speed,[callback])

2、动画效果的hide()和show()方法,调用show()和hide()方法仅是实现的元素的显示和隐藏功能,如果在这些方法中增加“speed”参数可以实现动画效果的显示与隐藏,

3、调用toggle()方法实现动画切换效果$(selector).toggle(speed,[callback])

eg:$(“img”).toggle(3000,function(){

          $(this).val()==”隐藏”?this.val(“显示”):$(this).val(“隐藏”)

})

4、使用slideUp()和slideDown()方法的滑动效果$(selector).slideUp(speed,[callback])$(selector).slideDown(speed,[callback])--- slideDown()仅适用于被隐藏的元素;slideup()则相反。          

$(“img”).slideUp(speed,function(){})

5、使用slideToggle()方法实现图片变脸效果$(selector).slideToggle(speed,[callback])

6、fadeIn()方法和fadeout()方法实现淡入淡出效果$(selector).fadeIn(speed,[callback])$(selector).fadeOut(speed,[callback])

7、fadeTo()设置淡入淡出效果的不透明度$(selector).fadeTo(speed,opacity,[callback])

8、animate()方法制作简单的动画效果$(selector).animate({params},speed,[callback])

9、animate()方法制作移动位置的动画,调用animate()方法不仅可以制作简单渐渐变大的动画效果,而且还能制作移动位置的动画,在移动位置之前,必须将被移元素的“position”属性值设为“absolute”“relative,否则,该元素移动不了

10、stop()停止当前所有动画 $(selector).stop([clearQueue],[goToEnd]),参数默认false

11、delay()延迟执行动画效果$(selector).delay(duration)

 

Jquery实现ajax应用(非常重要)---异步,同步区别

1、  使用load()方法通过ajax 请求加载服务器中的数据,并把返回的数据放到指定的元素中

load(url,[data],[callback]),url为加载的服务器地址,可选项data为请求发送时的数据,callback为数据请求成功后,执行的回掉函数

2、使用getJSON()方法异步加载JSON格式数据,使用getJSON()方法可以通过Ajax异步请求的方式,获取服务器中的数据,并对获取的数据进行解析,显示在页面中,jQuery.getJSON(url,[data],[callback])$.getJSON(url,[data],[callback]) ,url参数为请求加载json格式文件的服务器地址

3、使用getScript()方法异步加载并执行js文件,使用getScript()方法异步请求并执行服务器中的JavaScript格式的文件,jQuery.getScript(url,[callback])$.getScript(url,[callback]) 调用getScript()加载并执行服务器中指定名称的JavaScript格式的文件,

4、使用get()方法以GET方式从服务器获取数据,使用get()方法时,采用GET方式向服务器请求数据,并通过方法中回调函数的参数返回请求的数据$.get(url,[callback])

5、使用post()方法以POST方式从服务器发送数据

与get()方法相比,post()方法多用于以POST方式向服务器发送数据,服务器接收到数据之后,进行处理,并将处理结果返回页面,$.post(url,[data],[callback])

6、使用serialize()方法序列化表单元素值

使用serialize()方法可以将表单中有name属性的元素值进行序列化生成标准URL编码文本字符串,直接可用于ajax请求,$(selector).serialize()

7、使用ajax()方法加载服务器数据

使用ajax()方法是最底层、功能最强大的请求服务器数据的方法,它不仅可以获取服务器返回的数据,还能向服务器发送请求并传递数值jQuery.ajax([settings])$.ajax([settings])

8、使用ajaxSetup()方法设置全局Ajax默认选项

使用ajaxSetup()方法可以设置Ajax请求的一些全局性选项值,设置完成后,后面的Ajax请求将不需要再添加这些选项值, jQuery.ajaxSetup([options])$.ajaxSetup([options])

9、使用ajaxStart()和ajaxStop()方法

ajaxStart()和ajaxStop()方法是绑定Ajax事件。ajaxStart()方法用于在Ajax请求发出前触发函数,ajaxStop()方法用于在Ajax请求完成后触发函数。$(selector).ajaxStart(function())$(selector).ajaxStop(function())

 

Jquery常用插件

1、  表单验证插件—validate,调用validate()方法,该插件自带包含必填、数字、URL在内容的验证规则,即时显示异常信息,此外,还允许自定义验证规则,插件调用方法如下:$(form).validate({options})

$("#frmV").validate(

                  {

                      /*自定义验证规则*/

                      rules: {

                            email:{

                            required:true,   

                            email:true

                            }

                          }

                      },

                      /*错误提示位置*/

                      errorPlacement: function(error, element) {

                         error.appendTo(".tip");

                      }

                  }

2、 表单form插件,调用ajaxForm()方法实现ajax向服务器提交表单数据,并通过方法中的options对象获取服务器返回数据,格式:$(form). ajaxForm({options})

    varoptions = {

                url:"http://www.imooc.com/data/form_f.php",

                target: ".tip"

                }

    $("#frmV").ajaxForm(options)

3、图片灯箱插件——lightBox,该插件可以用圆角的方式展示选择中的图片,使用按钮查看上下张图片,在加载图片时自带进度条,还能以自动播放的方式浏览图片,调用格式如下:

$(linkimage).lightBox({options})

4、图片放大镜插件——jqzoom

在调用jqzoom图片放大镜插件时,需要准备一大一小两张一样的图片,在页面中显示小图片,当鼠标在小图片中移动时,调用该插件的jqzoom()方法,显示与小图片相同的大图片区域,从而实现放大镜的效果,调用格式如下:

$(linkimage).jqzoom({options})linkimage参数为包含图片的<a>元素名称

5、cookie插件——cookie

使用cookie插件后,可以很方便地通过cookie对象保存、读取、删除用户的信息,还能通过cookie插件保存用户的浏览记录,它的调用格式为:

保存:$.cookie(keyvalue);读取:$.cookie(key),删除:$.cookie(keynull)

   if($.cookie("email")) {

     $("#email").val($.cookie("email"));

     }

    $("#btnSet").bind("click",function () {

       if($("#chksave").is(":checked")) {

           $.cookie("email",$("#email").val() ,{

           path: "/", expires: 7

           })

          }

       else {

           $.cookie("email",null,{

             path: "/"

            })

           }

          });

6、搜索插件——autocomplete

搜索插件的功能是通过插件的autocomplete()方法与文本框相绑定,当文本框输入字符时,绑定后的插件将返回与字符相近的字符串提示选择,调用格式如下:

$(textbox).autocomplete(urlData,[options]);urlData为插件返回的相近字符串数据

7、右键菜单插件——contextmenu

右键菜单插件可以绑定页面中的任意元素,绑定后,选中元素,点击右键,便通过该插件弹出一个快捷菜单,点击菜单各项名称执行相应操作,调用代码如下:

$(selector).contextMenu(menuId,{options});

8、自定义对象级插件——lifocuscolor插件

自定义的lifocuscolor插件可以在<ul>元素中,鼠标在表项<li>元素移动时,自定义其获取焦点时的背景色,即定义<li>元素选中时的背景色,调用格式为:

$(Id).focusColor(color)

9、自定义类级别插件—— twoaddresult

通过调用自定义插件twoaddresult中的不同方法,可以实现对两个数值进行相加和相减的运算,导入插件后,调用格式分别为:

$.addNum(p1,p2)  $.subNum(p1,p2)

 

 

 

 

Jquery工具类函数

1、jQuery中,通过$.browser对象可以获取浏览器的名称和版本信息,如$.browser.chrometrue,表示当前为Chrome浏览器,$.browser.mozilla为true,表示当前为火狐浏览器,还可以通过$.browser.version方式获取浏览器版本信息。

2、检测浏览器是否属于W3C盒子模型

浏览器的盒子模型分为两类,一类为标准的w3c盒子模型,另一类为IE盒子模型两者区别为在WidthHeight这两个属性值中是否包含paddingborder的值,w3c盒子模型不包含,IE盒子模型则包含,而在jQuery 中,可以通过$.support.boxModel对象返回的值,检测浏览器是否属于标准的w3c盒子模型。

3、在jQuery中,可以调用名为$.isEmptyObject的工具函数,检测一个对象的内容是否为空,如果为空,则该函数返回true,否则,返回false值,调用格式如下:

$.isEmptyObject(obj);

4、检测对象是否为原始对象

调用名为$.isPlainObject的工具函数,能检测对象是否为通过{}new Object()关键字创建的原始对象,如果是,返回true,否则,返回false值,调用格式为:

$.isPlainObject (obj);

5、检测两个节点的包含关系

调用名为$.contains的工具函数,能检测在一个DOM节点中是否包含另外一个DOM节点,如果包含,返回true,否则,返回false值,调用格式为:

$.contains (container, contained);

6、字符串操作函数

调用名为$.trim的工具函数,能删除字符串中左右两边的空格符,但该函数不能删除字符串中间的空格,调用格式为:

$.trim (str);

7、URL操作函数

调用名为$. param的工具函数,能使对象或数组按照key/value格式进行序列化编码,该编码后的值常用于向服务端发送URL请求,调用格式为:

$. param (obj); param和serialize的区别是什么?前者是对任意的参数进行URL地址格式的转换,而后者仅属于form提交的数据转换。

8、使用$.extend()扩展工具函数

调用名为$. extend的工具函数,可以对原有的工具函数进行扩展,自定义类级别的jQuery插件,调用格式为:$. extend({options});参数options表示自定义插件的函数内容

$.extend({

                    "MinNum":function (p1, p2) {

                        return (p1 > p2) ? p2 : p1;

                    }

                });

9、使用$.extend()扩展Object对象

除使用$.extend扩展工具函数外,还可以扩展原有的Object对象,在扩展对象时,两个对象将进行合并,当存在相同属性名时,后者将覆盖前者,调用格式为:

$. extend (obj1,obj2,…objN);

参数obj1至objN表示需要合并的各个原有对象。

 

表单验证插件validate(先不急)

基本API

debug:true;表单不会提交,方便调试

基本验证方法:required必填 remote 远程校验

               minlength最小长度 maxlength最大长度rangelength 长度范围

              min 最小值 max最大值 range 范围

               email email格式 url url格式 date 日期dateISO ISO日期

               number 数字 digit整数 equalTo与另一个元素值相等、

高级API

validate()检查某个表单或者元素是否有效

   rules()方法获取表单元素的校验规则----针对元素不是整个表单

   rules("add",rules)向表单元素增加校验规则

   rules("remove",rules)向表单元素删除校验规则

 

validator对象

validate()方法返回validator对象,validator对象有很多有用的方法—动态方法

   Validator.form()---验证表单是否有效

   Validator.element(element)验证某个元素是否有效

   Validator.resetForm()把表单恢复到验证前原来的状态

   Validator.showErrors(errors)针对某个元素显示特定的信息

   Validator.numberOfInvalids()返回无效的元素数量

validator对象的静态方法(不需要捕获validator这个对象,可以直接调用这些方法)

jquery.validator.addMethod(name,method[,message])增加自定义的验证方法

jquery.validator.format(template,argument,argumentN...)格式化字符串,用参数代替模板中的{n} 

jquery.validator.setDefaults(options)修改插件默认设置

jquery.validator.addClassRules(name,rules)为某些包含名为name的class增加组合验证类型

 

validate方法配置项

submitHandler:通过验证后运行的函数,可以加上表单提交的方法

invalidHandler:无效表单提交后运行的函数

ignore:对某些元素不进行验证

rules:定义校验规则

messages:定义提示信息

groups:对一组元素的验证,用一个错误提示,用errorPlacement控制把出错信息放在哪里

 

onsubmit是否在提交时验证

onfocusout是否在获取焦点时验证

onkeyup是否在敲击键盘时验证

onclick 是否在鼠标点击时验证,一般用于checkbox或者radio

focusInvalid 提交表单后,未通过验证的表单是否会获得焦点

focusCleanup当未通过验证的元素获得焦点时,是否移除错误提示

 

errorClass指定错误提示的css类名,可自定义错误提示样式

validClass指定验证通过的css类名

errorElement使用什么标签标记错误

wrapper使用什么标签把上面的errorElement包起来

errorLabelContainer把错误信息统一放在一个容器里

errorContainer显示或者隐藏验证信息,可自动实现有错误信息出现时把容器属性变为显示,无错误时隐藏

 

showErrors:可以显示总共多少个未通过验证的元素

errorPlacement自定义错误信息放到哪

success:要验证的元素通过验证后的动作
highlight:给未通过验证的元素加效果

unhighlight:去除未通过验证的元素的效果,一般和highlight同时使用

选择其拓展

:blank选择所以值为空的元素

:filter选择所有值不为空的元素

:unchecked选择所有没有被选中的元素

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值