锋利的jQuery_锋利的jQuery书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > 锋利的jQuery > 锋利的jQuery
米随随 锋利的jQuery 的书评 发表时间:2013-11-27 17:11:20

锋利的jQuery

优点:轻量、选择器、DOM操作、事件处理、兼容、链式操作
理念:write less, do more.
PS:windows.onload 与 $(document).ready() 区别
代码风格:1、链式操作风格(同级多行、子级缩进),2、注释
jQuery对象与DOM对象:1、方法不通用,2、可互转($(cr), $cf[0])
PS:is(':checked')
与其它库的冲突:在别的库之前JQ被引入用jQuery. ,之后用noConflict()
---
基本选择器:#id .class element * selector1,...,selectorN
层次选择器:$('ancestor descendant') $('parent > child') $('prev + next') $('prev ~ siblings')
过滤选择器::first :last :not(selector) :even : odd :eq(index) :gt(index) :lt(index) :header :animated :focus :contains(text) :empty :has(selector) :parent :hidden :visible [attribute] [attribute=value] [attribute!=value] [attribute^=value] [attribute$=value] [attribute*=value] [attribute|=value] [attribute~=value] [attribute1][attributeN] :nth-child(index/even/odd/equation) :first-child :last-child : only-child :enabled :disabled :checked :selected
表单选择器::input :text :password :radio :checkbox :submit :image :reset :button :file :hidden
---
查找节点: $li = $("ul li:eq(1)")
查找属性节点:$li.attr("title")
创建节点:$li_1 = $("<li title='香蕉'>香蕉</li>")
插入/移动节点:append() appendTo() prepend() prependTo() after() insertAfter() before() insertBefore()
删除节点:remove() detach() empty()
复制节点:clone(true)
替换节点:replaceWith() replaceAll()
包裹节点:wrap() wrapAll() wrapInner()
属性操作:attr() removeAttr()
样式操作:addClass() removeClass() toggleClass() hasClass() is()
设置获取值:html() text() val() focus() blur()
遍历节点:children() next() prev() siblings() closest() parent() parents()
CSS-DOM操作:css() width() height() offset() position() scrollTop() scrollLeft()
---
加载DOM:ready()
事件绑定:bind(blur, focus, focusin, focusout, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error)
合成事件:hover()
事件冒泡:event.stopPropagation() event.preventDefault() {return false;}
事件对象的属性:event.type event.target event.relatedTarget event.pageX event.pageY event.which event.metaKey
移除事件:unbind() one()
模拟操作:trigger(type,[data]) triggerHandler()
事件命名空间:bind('click.plugin') trigger('click!')
动画:show() hide() fadeIn() fadeOut() slideUp() slideDown() fadeTo() toggle() slideToggle() fadeToggle() .animate( properties [, duration ] [, easing ] [, complete ] )
多重动画:.animate().animate()
停止动画及动画状态:stop([clearQueue],[gotoEnd]) is(':animated') delay()
动画回调:queue(function(next){next();})
---
css() animate() 接受以对象方式的多个CSS属性,接受 +=88、-=88 这样的属性
this.checked = !this.checked 反转布尔值
prop() 只存在布尔值的属性使用,一般用attr()
链式选择器与 遍历节点 方法共用减少代码量
trigger() 调用已经绑定的办法减少代码量
each() 遍历一个jQuery对象,为每个匹配元素执行一个函数
end() 终止在当前链的最新过滤操作,并返回匹配的元素的以前状态
:contains() 选择所有包含指定文本的元素
filter( selector ) 筛选元素集合中匹配表达式 或 通过传递函数测试的 那些元素集合
jquery.cookie.js
---
AJAX优劣:无插件、体验好、性能好、负担少;支持不一、前进后退失效、SEO不好、没好工具
XMLHttpRequest:ActiveXObject(ie6) xmlHttpReq.open() xmlHttpReq.onreadystatechange xmlHttpReq.send() xmlHttpReq.readyState xmlHttpReq.status
load():从服务器载入数据并且将返回的HTML代码并插入至匹配的元素中。
$.get():使用一个HTTP GET请求从服务器加载数据。
$.post():使用一个HTTP POST 请求从服务器加载数据。
$.getScript():使用一个HTTP GET请求从服务器加载并执行一个 JavaScript 文件。
$.getJSON():使用一个HTTP GET请求从服务器加载JSON编码的数据。
$.ajax():执行一个异步的HTTP(Ajax)的请求。
.serialize():将用作提交的表单元素的值编译成字符串。
.serializeArray():将用作提交的表单元素的值编译成拥有name和value对象组成的数组。
$.param():创建一个数组或对象序列化的的字符串,适用于一个URL 地址查询字符串或Ajax请求。
不同阶段状态:.ajaxStart() .ajaxStop() .ajaxComplete() .ajaxError() .ajaxSend() .ajaxSuccess()
$( selector [, context ] ) context 第二个上下文参数用于来指定选择器查找的范围
---
jquery.[插件名].js:注意 this 的使用
闭包:;(function($){})(jQuery);
封装对象方法的插件:$.fn.extend({});
封装全局函数的插件:$.extend({});
选择器插件:$.extend($.expr[":"],{});
尽量使用ID选择器、尽量给选择器指定上下文、缓存对象、循环时的DOM操作、数组方式使用jQuery对象、length检查jQuery对象、用on()监听多个事件、将代码转化为jQuery插件、使用join()拼接字符串、合理使用HTML5的Data属性、尽量使用原生的JavaScript方法、压缩JS
$.cssHooks:直接向 jQuery 中添加钩子,用于覆盖设置或获取特定 CSS 属性时的方法,目的是为了标准化 CSS 属性名或创建自定义属性。
$.proxy():接受一个函数,然后返回一个新函数,并且这个新函数始终保持了特定的上下文语境。
断点:静静的陪你走了好远好远,连眼睛红了都没有发现……
---
终于学完这本书了,不错推荐,OVER

展开全文
有用 4 无用 0

您对该书评有什么想说的?

发 表

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读