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(over,out);鼠标移入执行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(key,value);读取:$.cookie(key),删除:$.cookie(key,null)
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.chrome为true,表示当前为Chrome浏览器,$.browser.mozilla为true,表示当前为火狐浏览器,还可以通过$.browser.version方式获取浏览器版本信息。
2、检测浏览器是否属于W3C盒子模型
浏览器的盒子模型分为两类,一类为标准的w3c盒子模型,另一类为IE盒子模型,两者区别为在Width和Height这两个属性值中是否包含padding和border的值,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选择所有没有被选中的元素