最近转职做前端,学了两个月目前学到jquery的部分,看的是《锋利的jquery》这本书,特地开了博客将自己学习过程中看到的一些知识做一个笔记。
第一章:
一、jQuery对象和DOM对象
1.jQuery对象转换成DOM对象
目前还没遇到这种情况,书中说如果对jQuery对象的方法不熟悉的情况,以及没有需要的方法时,不得不使用DOM对象的时候,就需要转换。有两种方法转换即[index]和get(index)。因为jQuery对象是一个类似数组的对象。
1 var $cr = $("#cr"); //jQuery对象 2 var cr=$cr[0]; //DOM对象 3 var cr=$cr.get(0); //DOM对象
2.DOM对象转成jQuery对象
DOM对象用$()包装起来,就可以获得一个jQuery对象了。
注意:两种对象的方法只能各用各的。
二、window.onload和$(document).ready()之间的对比
1.window.onload必须等网页所以内容加载完毕后包括图片才能执行。而$(document).ready()网页中所有DOM结构绘制完毕后就执行,可能DOM元素关联的东西并没有加载。
2.window.onload不能同时编写多个,会覆盖。而$(document).ready()可以同时编写多个并都执行。
3.window.onload没有简写。$(document).ready(function(){....})可以简写为$(function(){....})
三、解决jQuery和其他库的冲突
1.在其他库后导入,加载完毕后,$快捷键可以通过jQuery.noConflict()函数将控制权移交给其他JavaScript库。$()是jQuery()的简写。
2.自定义快捷方式,直接调用jQuery.noConflict()然后赋给快捷键变量如var $j=jQuery.noConflict().
3.如果还是想要用$符号,一是将控制权让给其他库,同时用的时候可以在jQuery()括号内用。二是将控制权让渡后,定义匿名函数并设置形参为$,匿名函数内部的$均为jQuery。在书中31页讲到这些方法代码如图
4.如果jQuery库在其他库之前导入,那么可以直接使用"jQuery"来做一些jQuery的工作,同时,可以使用$()方法作为其他库的快捷方式。不用移交控制权