《锋利的jQuery(第2版)》学习

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


你可能感兴趣的:(《锋利的jQuery(第2版)》学习)