读《锋利的jQuery(第二版)》笔记
1)detach()和remove()一样,也是从DOM中去掉所有匹配的元素。但需要注意的是,这个方法不会把匹配的元素从jQuery对象中移除,因而可以在将来再使用这些匹配的元素。与remove()不同的是,所有绑定的事件、附加的数据等都会保留下来。
如果在替换之前,已经为元素绑定事件,替换后原先绑定的事件将会被替换的元素一起消失,需要在新元素上重新绑定事件。
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()方法。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。