jQuery学习的基本框架:
javascript与jQuery基础
选择器(是jQuery的核心)
DOM操作
事件、动画
表单操作
Ajax
插件
jQuery Mobile
1、jQuery优势
轻量级
强大的选择器
出色的DOM操作的封装
可靠的事件处理机制
完善的Ajax
不污染顶级变量
浏览器兼容性
链式操作
隐式迭代
行为层与结构层分离
插件支持
文档完善
开源
2、$是jQuery的简写形式。$("#a")等价于jQuery("#a")
3、$(document).ready(function(){}); 等网页中所有的DOM结构绘制完毕执行,内容可能还未加载完。
可简写为$(function(){});
window.onload 等页面所有的内容都加载完。
4、addClass() removeClass /
next() prev() parent() children() siblings() /
fadeTo()
show() hide()
has()
css()
attr() removeAttr() addClass() removeClass() toggleClass() hasClass()
append() appendTo() after() before()... remove() detach() empty() clone() replaceWith() replaceAll()
html() text() val()
5、jQuery对象和DOM对象
DOM对象,通过javascript中的getElementsByTagName或getElementById获取的。
jQuery对象是通过jQuery包装DOM对象后产生的对象。
将jQuery对象转化为DOM对象 var a = $a[0] 或者 var a = $a.get(0)
将DOM对象转化为jQuery对象 var $a = $(a)
6、jQuery.noConflict()函数可以将变量$的控制权移交给其他javascript库
7、选择器 # .
支持CSS选择器
对于不存在的对象不会报错。用$("#a")获取的永远是个对象,要想判断是否存在,可以使用length()方法或者转化为DOM。
8、选择器:
基本 $("#a") $(".a") $("a")
层次 $("div span") $("div>span") $("#a+div") $("#a~div")
过滤 :first。。。:enabled :disabled :selected :checked
表单 :input :text。。。。
9、注意带空格与不带空格的区别
$(".a :hidden") 获取class为a的元素里面的隐藏元素
$(".a:hidden") 获取隐藏的class为a的元素
10、DOM操作分为3个方面:DOM Core、HTML-DOM、CSS-DOM
节点操作:append() appendTo() after() before()... remove() detach()(该方法不会真正删除节点,绑定的事件都还存在) empty()(清空节点内的内容) clone()(复制节点时,若事件也复制就加参数clone(true)) replaceWith() replaceAll() wrap()(包裹操作) wrapAll() wrapInner()
attr() removeAttr() addClass() removeClass() toggleClass()(重复切换) hasClass()
html() text() val()(该方法也可在选择框中使用来改变选中项) defaultValue
next() prev() parent() children() siblings()(前后所有的同辈元素) closest()(最近的)
css() offset() position() scrollTop() scrollLeft()
11、事件
bind() jQuery中的事件绑定类型比普通的javascript事件绑定类型少了on
hover(enter,leave)
toggle(A,B) 切换方法,也可直接用toggle()方法切换元素的可见状态
事件冒泡 事件对象event停止事件冒泡stopPropagation()阻止默认行为preventDefault()获取type()
unbind()删除绑定事件
trigger()模拟事件
相同事件名称,不同命名空间执行方法用!控制
12、鼠标事件
click mouseover mouseout...
13、Ajax
优势:不需要插件;用户体验好;通过XMLHttpRequest对象按需发送数据;在客户端创建Ajax引擎,减轻服务器和带宽的负担。
不足:破坏“后退”按钮的正常功能;对搜索引擎的支持不足;开发和调试工具缺乏
14、
底层
$.ajax()
第二层
load() 载入HTML文档,无参数传递是GET方式,有参数是POST方式
回调函数有三个参数,分别是请求返回的内容、请求状态、XMLHttpRequest对象
$("#a").load("a.html", function(responseText, textStatus, XMLHttpRequest){
});
$.get()
$.get( url, [.data], [.callback], [.type])
$.post()
第三层
$.getScript()
$.getJSON()
15、序列化元素 serialize() serializeArray() param()
18、ajax的全局事件
ajaxStart ajaxStop ajaxComplete ajaxError ajaxSend ajaxSuccess
19、常用的jQuery插件
Validation 引入jquery.validate.js;绑定validate()方法;字段设置验证规则
另一种写法,引入新的插件jquery.metadata.js;绑定用validate({meta: "validate"}); 规则都写到class中
另一种写法,通过name属性值来匹配验证规则,在绑定的validate()方法中增加rules属性
可自定义添加验证规则$.validator.addMethod()
Form 核心方法 ajaxForm() ajaxSubmit()
引入jquery.form.js;绑定form事件
SimpleModal
$("#a").modal();
Cookie
jquery.cookie.js
jQuery UI