码迷,mamicode.com
首页 > Web开发 > 详细

读《锋利的jQuery(第二版)》笔记

时间:2015-04-21 22:49:08      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:读锋利的jquery第二版笔记

一下的数字表示第几个细节知识点。另外在<code></code>尖括号里包裹的表示是代码。
1)detach()和remove()一样,也是从DOM中去掉所有匹配的元素。但需要注意的是,这个方法不会把匹配的元素从jQuery对象中移除,因而可以在将来再使用这些匹配的元素。与remove()不同的是,所有绑定的事件、附加的数据等都会保留下来。

如果在替换之前,已经为元素绑定事件,替换后原先绑定的事件将会被替换的元素一起消失,需要在新元素上重新绑定事件。



2)jQuery提供了更简单的方法。可以以空格的方式删除多个class名,jQuery代码如下:   <code>$("p").removeClass("high another");</code>另外,还可以利用removeClass()方法的一个特性来完成同样的效果。当他不带参数时,就会将class的值全部删除,jQuery代码如下<code>$("p").removeClass(); //移除<p>元素的所有class</code>



3)$(document).ready()方法和window.onload 方法有相似的功能,但是在执行时机方面是有区别的。window.onload 方法是在网页中所有的元素(包括元素的所有关联文件)完全加载到浏览器后才执行,即javascript此时才可以访问网页中的任何元素。而通过jQuery中的$(document).ready()方法注册的事件处理程序,在DOM完全就绪时就可以被调用。此时,网页的所有元素对jQuery而言都是可以访问的,但是,这并不意味文件元素关联的文件都已经下载完毕。



4)jQuery中的任何动画效果,都可以指定3种速度参数,即"slow"、"normal"、"fast"(时间长度分别是是0.6秒、0.4秒和0.2秒)。当使用速度关键字时要加引号,例如show("slow");如果用数字作为时间参数、就不需要加引号,例如show(1000)。



5)在之前的jQuery版本中,都是使用attr()来访问对象的属性,比如取一个图片的alt属性,就可以这样做$(‘#img‘).attr(‘alt‘);但是在某些时候,比如说访问input的disabled属性的时候,会有些问题。在有些浏览器里,只要写了disabled属性就可以,有些则要写:disabled="disabled"。所以,从1.6版开始,jQuery提供新的方法prop()来获取这些属性。使用prop()的时候,返回值是标准属性:true/false,比如$(‘#checkbox‘).prop(‘disabled‘),不会返回"disabled"或者"",只会返回 true/false.比如$(‘#checkbox‘).prop(‘disabled‘),不会返回"disabled"或者"",只会返回true/false.当然赋值的

时候也是如此。这样,便统一了所有操作,无论是从语法上还是语义上。
那么,哪些属性应该用attr()访问,哪些应该用prop()访问呢?
第一个原则:只添加属性名称该属性就会生效应该使用prop();
第二个原则:只存在true/false的属性应该使用prop()。
按照官方说明,如果是设置disabled和checked这些属性,应使用prop()方法,而不是使用attr()方法。






















读《锋利的jQuery(第二版)》笔记

标签:读锋利的jquery第二版笔记

原文地址:http://blog.csdn.net/u013803262/article/details/45174457

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!