窥探jquery,从0到1
前言
众所周知,我们学习了html,css后,便有了一充实的结构和美丽的外表,然而久而久之,空有一副“美丽的皮囊”往往时间长了,对于追求刺激,更加完美的我们也会产生审美疲劳,我们并不懈如此,就像一宁静的海面,无风不起浪时,蓝蓝的外衣就犹如一“含羞的女子”,然而就当外有风起云涌惊涛拍岸,海上沙鸥点点之时,才引得了古人唯有的“府中连骑出,江上待潮观”的急盼之情。言归正转,这里的疾风和惊涛骇浪,沙鸥等我将它好比js,jquery,能将静态的唯美的画面变得令人激动起来,变化万千,为之嗟叹。我们知道,javascript的地位一直一来都是无法撼动的,整个前端圈也正因为它而活跃得一塌糊涂,随之而来的是各种前端js框架,各种js库,jquery,anvalonjs,angularjs,nodejs,requirejs,reactjs等等,可谓是百家齐放的趋势啊,毫无凝问,会原生得永生是没错的,然而就当自己刚刚接触时,我并不是很重视原生的学习,一上来就葫芦画瓢毫无悬念的用jquery,一直习惯的用它,酿成最终以至丧失了行动的能力,这是错误的。常常两者傻傻分不清,用得是稀里糊涂的,如今,已幡然醒悟,必须得坚持重视原生的学习,当然jquery也是值得学习的,毕竟是这么一优秀的js库,学好前者好比你就是造坦克的创造者,学好后者好比你也就是一开坦克的司机,这两者的区别,哈哈,你懂的,我一直在努力...今天我就自己对js和Jquery的使用写一点心得,希望此文来得不迟到,为你拨开云雾,守得云开见月明^_^.
正文从这里开始~
我们平时口中常常所说的js,其实就是javascript的简称,而jq指的的是jquery,至于javascript是什么,可以参照前期《初识javascript的一点点见解》一文,这里不在重述,那么这里的Jquery到底和javascript是什么关系呢?其实生活中有不少类似他们的身影,比如案例1:你拥有一辆已废弃的奥斯莱斯的汽车,想把它修好,一种方法是:上各种4s店手淘各种原器件,一股劲的研究和捣鼓,把它给解决。另一种方法是:我直接把车扔给4s维修店,我的车哪里坏了,我告诉维修工,哪里坏了,直接告诉它便是,缺什么,补什么。案例2:如果把自家的厨房比作是javascript的话,那么柴米油盐等就是工具,一道美味的菜肴需要各种程序才到嘴角边的。而把我楼下的餐馆好比就是jquery的,我想要吃什么,直接点就是的。无论是在4s店里我的汽车用了哪些零汽件,我无需关心,我只关心,最终我能用就行,也无需关心楼下餐馆的美中餐的怎么做出了来的,中间有多少道程序,我不管,最终我只要能吃就行^_^。其实,jquery库是一个优秀的javascript库,也就是一个纯粹的javascript代码库,所谓库就是集成了很多工具方法,向需求者暴露自己尽情的使用的自己的,好比是4s店里的仓库存储了汽车的各个零部件,餐馆里的后厨等,可以在任何web应用中使用,jquery可以做到跨浏览器运行。下面列出较为枯燥的特点如下,毕竟理论干巴巴的,挺无趣的,但是觉得在使用它的同时,多认识点,有益无害,在使用原生js和Jquery的同时,可以感受到jquery强大神奇之处..
(1):轻量,压缩后只有30kb左右,强大的css选择器,用来查询文档dom元素,高效的查询方法,用来找到与css选择器匹配的文档元素,并进行操作(css3丰富的选择器在jquery中同样适用)
(2)丰富而实用的方法,show(),fade(),find(),slideUp().slideDown,addClass(),removeClass(),attr(),eq(),index()等,用来操作选中的元素
(3):强大的函数式编程技巧,批量的操作元素集,而不是每次只操作单个,减少了dom操作,循环遍历等繁琐的工作
(4)完善的ajax,跨浏览器使用,出色的浏览器兼容性处理,能够专心处理业务逻辑而无需关心复杂的浏览器的兼容性和XMLHttpRequest对象的创建和使用
(5):链式操作,即对同一个Jquery对象上的一组动作,可以直接连写无需重复获取对象,使得代码无比的优雅
(6):行为层与结构成的分离,主要体现在可以直接使用jquery选择器选中元素,然后直接给元素添加事件
(7)丰富的插件支持,开源,完善的文档,和活跃的社区
(8)...等等
总之,无论是javascript还是jquery,功能都是一样的,都是负责行为层的,对文档元素进行读和写的操作。
《关于jquery的写法》
a:方法函数化(比如:事件的click(),focus(),mouseove()r等,后面示例代码中体现)
b:链式操作
c:取值赋值合体
《关于js与jquery使用》
可以共存,但不能混用(js中不能使用jquery方法,jquery中使用原生js属性等,但可以相互转化后使用)
《关于$(function(){}),$(document).ready(function(){}与window.onload)的使用》
我们知道将javascript代码插入到页面中,有如下方法:一是,直接将js代码合成一个脚本,通过script标签,src的方式将其引入到页面中,另一种方式就是直接在head的头部上方,或者在离body最上方js/jquery代码,我们知道浏览器是一个应用软件,它具有读的功能,对文档(txt文件,音乐,视频等),只要是它所支持的格式,都能给读取出来,而在浏览器里面还有一个专属读取代码的机制我们可以称它为“js解析器”,对代码的读取,是从上到下,逐行读取的,往往浏览器对html代码读取得是很快的,然而对于一些图片等占用宽带的内容,需要先向服务器发出响应,获取,然后显示出来,这中间是需要时间的,这就关乎到一个用户体验和加载顺序的问题,往往在使用时,在我们写的js/jquery代码中外面喜欢加上window.onload或者$(function(){})这么一个壳,下面对这这种方式作了一个比较,也许你使用得很熟悉,但是你真的知道吗?哈哈....
点击图可放大可看

从上面可以看出,后面的的代码覆盖了前面的代码,因此可以得出:
window.onload = function(){ js代码放在这里}
执行时机:必须等待网页中的所有内容加载完毕(包括图片)才能执行
编写个数:不能同时编写多个(下图示例)
简化方法:无

从上图可以看出,两个都可以输出,并不影响
$(document).ready(funciton(){jquery代码放在这里})
执行时机:网页中所有的DOM结构绘制完毕后执行,可能整个DOM元素关联的东西并没有加载完,函数括号中的所有代码都会提前,只要DOM在浏览器中被注册完毕被执行,而不是等待在页面所有内容,加载完毕之后才执行事件,由此看出它是异步单线程的,它允许用户在第一眼看到元素的时候,就能立即看到元素产生的一些隐藏,显示效果等效果,其中Jquery(callback)是$(document).ready(function(){})的一个缩写,这个callback指定一个函数,在页面加载完成是自动的激发callback,该函数翻阅页面document对象包装成了jquery对象
能同时编写多个
简化方法:$(document).ready(function(){ jquery代码放在这里});可以简写成$(function(){})
性能上:后者优于前者了
《分清jquery对象还是js对象》
由于偷懒,如果习惯了使用jqury时,而有时候在写效果时,jquery的一些方法忘记了,又顺手写起了js,常常两者夹杂着,在js用的不是很熟的情况下,两者难免会用的混淆,常常令自己苦恼,点击下面的图,边看console台的结果,理解就好了的

从上图可以看到:获取js对象方法:(1):document.getElementById("id名");
(2) document.getElementsByClassName("class名")
(3)document.getElementsByTagName("标签名");
获取jquer对像方法(1):$("#i名"),其中#是不能少的
(2):$(".class名")class名前面的.符号不能少
(3):$("标签名")
......
由js和jquery的获取元素,并且通过typeof的数据类型可以推出:
jquery对象是有长度的,是类数组的,而js对象是没有的,至于判断什么是对象,什么是数据,其实也不难,具体对象和数组相关知识会在javascipt篇符中详谈,一般区分是不是对象,那么就看他具不具备属性和方法,而是数组对象,则下面便会具有数组的一些属性和方法例如:push(),pop()等方法,反之则不是。
而jquery对象是类数组,它拥有length属性和结介于0~length-1之间数值属性,从上面图中可以看出$case的长度为1,而js对象便是undefined;而$(" ")其实在jquery中已经进行方法函数化了的,$可以看成一个函数function xx(){},在内部已经进行了原生封装,向外暴露了一个接口方法,供使用者调用,它本身就是一个对象,该方法返回的值是零个或者多个DOM元素
注意事项1:js中是不能直接使用Juqery的方法的,例如上图中的console.log("oCase的内容是"+oCase.html());这样使用便会报错,而在query中也是同样,不能使用js中的方法属性的,比如:console.log("$case的内容是"+$case.innerHTML);返回的是一个undefined,但有时候又不得不进行转换,比如获取一个盒子里面的内容高度,等jquery中又没有此方法,那么就可以进行转换了的,转换方法通过get(index)的方式:比如上图:console.log("$case的内容是"+$case.get(0).innerHTML);转换图解如下:

注意事项2:关于定义变量的问题,可以发现我定义js变量和jquery变量的时候,我稍作了下区分,js变量用驼峰式,匈牙利命名的方式,而在定义jquery对象变量的时候,前面统一的加了一个$符,有一断时间我是不习惯这样的,看的特别扭,但是这样做的好处,显而意见了,当有代码量一多,一个js文件里既有jquery,js代码的时候,就很好的区分哪些是js对象和jquery对象,增强了可读性和维护,我们应该习以为常的推荐使用该方式。
《如何让jquery与其他javascript库共存》
关于使用$,和其他的库,比如prototype库,或者其他别的库,不仅仅是jquery中使用$()函数,它返回的是一个jquery对象,而其他库javascript库的$()返回的不是jquery对象,例如prototype的$()返回的是一个DOM对象,为了防止与其它js库的冲突,需要消除jquery中的$()函数
jQuery.noConflict(); // 还原$()为初始值
jQuery(function($){
// jquery代码放在这里
})
《jQuery函数与jquery对象及jQuery方法区别》
jQuery函数:是jQuery或者$()的值,该函数可以用来创建jQuery对象,可以用来注册DOM就绪时要调用的处理程序,还可以做JQuery的命名空间,因此jQuery函数可以成为“全局jQuery对象”,但是不要与jquery对象混淆,例如:jQuery.noConflict(),jQuery.each(),以及用来解析JSON文本的JQuery文本的jQuery.parseJSON()等,专业逼格词声称“静态方法”
JQuery对象:jquery对象是由jquery函数返回的结果,一个jquery对象表示一组文档元素,是一jquery集合,专业词语叫“包装集”
JQuery方法:是由jQuery函数返回的jQuery对象的方法,jQuery类库最为强大的部分就是定义了丰富的方法,先获取jQuery对象(说白了就是jQuery对象对DOM对象的包装),然后调用jQuery对象的方法改变自身,当JQuery对象被改变时,jQuery包装的DOM对象随之便会改变,所以这便是jQuery的厉害之处哈,有种“借刀杀人”的感觉,HTML页面的内容也随之更新了。
有时候,jQuery函数和jQuery方法有时确实难以区分啊,因为部分函数和方法的名称是一样的,可以看下面这两行代码的差异
类似$.each的命令表示jQuery函数,用.each(带点好但不带美元符号的)命令方式表示jQuery方法。如下示例:
$.each(a,f); // jQuery的each()函数用来,对数组a中的每一个元素都调用一次函数f
$("a").each(f); // 调用jQuery()函数获取表示文档中所有a元素的jQuery对象,然后调用该JQuery对象的each()方法,对选中的每一个元素调用一次函数f
《jQuery中四种不同的调用方式》
1:传入一个函数给$()方法,此时,当文档加载完毕且DOM可操作时,传入的函数将被调用,$(function(){ jquery代码放在这里}) // 文档加载完毕时调用
2:传递css选择器(字符串)给$()方法,当然通过这种方式调用时,$()方法会返回当前文档中匹配该选择器的元素集,也就是一组元素了,比如有多个li时查找时使用$("li")
3:传递一个Element,Document获取window对象给$()方法,该方法只需将该Element,Document或window对象封装成jQuery对象并返回即可比如:$(document),$(window),$(this)等
4:传递HTML文本字符串给$()方法;在这种情况下,jQuery会根据传入的文本创建好的HTML元素并封装成jquery对象返回,这里要注意的是,jquery不会将刚创建好的元素自动插入到文档中,必须得通过jquery方插入(比如,appendTo,append,insertAfter等等的)但是这种情况下,不可传入纯文本,比如$("p"),这样是不行的,因为它会把纯文本当做css选择器来解析,如使用这种方式,传递给$()方法的字符串必须至少包含带有尖括号的HTM标签比如$("<p></p>");$("<input />"),值得注意的是:$()也可以接受第二个参数:可以传递Document对象来指定与所创建元素相关联的文档,第二参数也可以是object对象:比如json格式
var img = $("<img />",{ // 创建一个img元素==原生document.creamElement("img");
{
src:url, // 具有HTML的属性src
css:{color:#ccc,fontSize:16px},
click:事件处理函数 // 和事件处理程序
}
})
《js和jquery如何获取属性值和设置HTML属性》
下面分别用js和jquery操作同样的元素,并实现相同功能,比较他们写法和区别
首先需要了下面些知识:
getAttribute:更改属性的节点的值,注意该方法不属于document对象,所以不能通过document对象调用,注意只能通过元素节点对象调用
使用方法:元素节点对象.getAttribute("元素节点属性名");
setAttribute:同上,只能作用于元素节点,通过元素节点来调用
使用方法:元素节点对象.setAttribute(attribute,value);
点击下图可放大看,意在如何获取属性和设置属性,如何获取css样式,和更改css样式,及获取样式兼容性的处理


从上图可知:获取元素的属性可用getAttribute(),设置元素的属性为setAttribute(attibute,value);注意他们两者事项,最为值得一提的就是获取元素的样式,对于示例中的console.log("a link链接的宽度为"+oLink.style.width+"px");为什么控制台上并没有输出a链接的宽度,是为什么呢?这是因为这种方式只能获取内联样式设置的css属性值,是获取不到外联样式的,常常有时因为需求做某些页面交互效果时而变得苦恼,如果对currentStyle()和getComputedStyle();方法不熟悉的话,那么就想用JQuery了的,对于jquery怎么实现的,后面有详解,因为浏览器兼容性的原因,IE678是不兼容getCurrentStyle()只适用于chrome,firefox ,safari,而currentStyle()则适用于IE,所以在适用他们的时候还得注意下,属性的判断,值得注意的是:currentStyle()和getComputedStyle()两个方法他们返回的是计算后的最终样式,可能是来自内联样式也可能来自外联样式,总之最终哪个数值大,就优先哪个,最为值得注意的是,不能获取符合样式的值,比如:font:"微软雅黑"/14px;background:rgba();margin:10x 10px;等而应该获取的单个样式的值。
currentStyle()和getComputedStyle();只能用它来获取页面样式,而无法来设置相关值,如果想要设置值,还是得使用style.或者使用它的另一种方式style.cssText的方式,元素的对象.style.cssText = " 属性:属性值";
获取浏览器的可视区域宽度:document.documentElement.clienWidth;
获取浏览器的可视区域高度: document.documentElement.clientHeight;
获取元素除去左右边框的宽度:元素.clientWidth;
获取元素除去上下边框的高度:元素.clientHeight;
获取当前元素距离浏览器左边的距离(必须是定位元素):元素.offsetLeft;
获取当前元素距离浏览器上边的距离:元素.offsetTop;
无offsetRIght,和offsetBottom,不过有了left值和top值就可以定位一个元素了哈,想要距离右边和距离下边的距离,可通过计算得出来。
获取页面的高度:元素.scrollHeight
获取页面的宽度:元素.scrollWidth;
获取页面滚动条滚动的高度:document.body.scrollTop;(当然万恶的兼容docment.documentElement.scrollTop,非IE浏览器下)通常会定义一个变量
var oScrollTop = document.documentElement.scrollTop || document.body.scrollTop;
其实前面篇幅中有提到过,可以看前一文《初识javascript的一点点见解》中就有详细的说道,这里只不过在回顾一下,作为与jquery的一个比较性的学习,无聊的拿出下而已了。
下面是jquery的方式:简单粗暴得不得了,如下图所示


上面可以javascript与js可相比较而下,写得更少,做得更多,很多原生的js属性和事件操作都在jquery中被封装了,方法函数化了的,也许图片很长,以下就列出上面较为易混淆常用的方法:
offset():获取jQuery对象包含的第一个匹配DOM对象相对于该文档的位置,该方法返回一个形如{left:xx;top:yy}使用方法,元素对象.offset().left;offset().top,若有margin值,也会计算在内,注意后面不要加括号,对比js:元素对象.offsetLeft;元素对象.offsetTop;
postion():获取jquer对象包含的第一个匹配的DOM对象,相对于其父元素的位置,该方法返回的是一个形如{left:xx;top:yy},若有margin值,也会计算在内,使用方法:元素对象.position().left; 元素对象.position().top;
scrollTop():获取jQuery对象包含的第一个匹配的DOM对象的scroll Top值
js中:document.documentElement.scrollTop || document.body.scrollTop
scrollLeft():获取jquery对象包含的第一个匹配的DOM对象的scroll Left的值(注意该属性会考虑水平滚动条里滑块的位置)括号里面的可以设置值
height():返回jQuery对象里所有元素的高度,括号里面可以设置值,为外联样式设置的高的值,不包括padding border margin值
width():返回jQuery对象里第一个匹配的元素的当前宽度,括号里面也可以设置值
innerHeight():返回jQuery对象里第一个匹配的元素的内部高度,包括padding的值,不包含border,margin值
innerWidth():同上类似
outerWidth():获取JQuery对象里第一个匹配元素的外部宽度(包含width+padding+border),该方法对于隐藏的元素同样是有效的,括号里面可以有参数,若为true,则会包含margin值,outerWidth(true)
outerHeight():同上类似
《如何过滤和仿DOM导航的相关方法》
说实化,jQuery的强悍之处,在于提供了了很多实用的方法,和强大的css选择器,不像原生js,获取元素,查找节点,常常一小功能,就得编写一长串代码。下面就罗列下常用的方法:
eq():该方法返回又jquery里包含的第position+1个元素包装长的jquery对象
使用方法:元素对象.eq().方法()等
filter(element):从jQuery对象里删除所有不匹配element的DOM对象,其中element可以是任意合法的selector选择器,也可以是包含多个元素的数组,还可以是包含多个元素jquery元素:使用方法:如:元素对象.filter("标签名或者css选择器");
first():该方法绘制由JQuery对象中包含的第一个元素包装成jquery对象
使用方法:元素对象.first();
last():该方法绘制由Jquery对象中包含的最后一个元素包装成的jQuery对象
使用方法:元素对象.last();
not(select | element | jQuery):从jQuery对象里删除所有匹配expr的DOM对象,除了某元素之外的操作,该方法与filter()作用是完全相反
is(expr):用expr来检查jQuery对象包含的元素集合,如果其中任意的一个元素符合expr,那么就返回true,如果没有元素符合,或者表达式无效,就返回false,其中expr可以是任意合法的css选择器,也可以是包含多个元素的数组,还可以是包含多个元素的jquery对象
slice(start,end):返回jQuery里索引从start开始到 end结束的DOM元素组成的JQuery对象,类数组的截取方法的
add(select | element | html | jQuery):为原来的jQuery对象添加新的DOM元素,注意该方法的参数既可以是任何合法的选择器,可以是原始的HTML代码(该方法是:将会把HTMLd代码转化为DOM对象后添加到Jquery里)
chilldren();查找当前的JQuery对象之内的全部后代元素,如果指定了selector选择器,则只查找匹配selector选择器后代元素,返回符合条件的DOM元素包装成jQuery对象
closest();查找距离当前JQuery对象最近且符合传入参数的元素
find():查找当前jquery对象,实际上就是该对象包含的DOM对象,能匹配传入参数的所有后代元素,该方法的参数可以是任何合法的选择器,也可以是原生的DOM元素,还可以是另一个jquery对象,返回符合条件的DOM元素包装成的JQuery对象
next():查找紧跟当前jQuery对象之后的元素,如果指定了selector选择器,则该元素必须匹配selector选择器
nextAll():查找当前的JQuery对象之后的所有兄弟元素,同上
nextUntil():查找当前jQuery对象之后,匹配selector的元素或element元素之前的所有兄弟元素,如果指定了filter选择器,则会找出匹配filter选择器的兄弟元素
offsetParent():查找当前jquery对象的最近的且能定位的祖先元素,返回由符合条件的DOM元素包装成的Jquery对象
parent():查找当前jquery对象的父元素,注意是离它最近父元素,括号如果指定了expr选择器,则该父元素还必须匹配expr选择器,返回由符合条间的DOM元素包装成的jquery对象
parents():查找当前jQuery对象的所有祖先元素,括号内如果指定了选择器,则只找出匹配祖先元素,返回由符合条件的的DOM与阿奴包装成的jquery对象
prentsUntil(,filter):查找当前jQuery对象,直到匹配selector的元素或element元素的所有祖先元素,括号内如果指定了filter选择器,则只找出匹配filter祖先元素
prev():紧跟当前jQuery对象之前的元素,括号内如果指定了选择器,则该元素必须selector选择器
prevAll():查找当前jQuery对象之前的所有兄弟元素,括号内如果指定了特定的选择器,则只找出所匹配的选择器元素
sibliings():查找当前jQuery对象前后的所有兄弟元素,括号内可以指定选择器,如果指定了特定的选择器,则会找出匹配选择器的兄弟元素
end():该方法通常和前面的过滤,查找方法结合使用,用于将jquery对象恢复到上一次执行过滤,查找方法之前的状态,有些类似,”撤销“的操作,在对某个JQuery对象调用end()方法之后,该JQuery对象的状态将恢复到end()前的一个方法之前的状态
《如何操作元素的方法,操作DOM节点,添加,删除,替换,复制》
操作元素内容和设置DOM元素内容,包括访问或设置这些DOM元素的innerHTML属性,文本内容和value属性
html():返回jQuery对象包含的第一匹配的DOM元素的HTML内容,其实就是innerHTML属性值,括号里面,注意返回的是所有内容,如有标签和函数,都会一并的输出来,括号里面也可以设置值,可以获取元素的内容,也可以设置innerHTML的内容。
text():返回的是jquery对象包含的所有DOM元素的文本内容,同时括号里面可以设置内容
val():返回的是jQuery对象包含的第一个匹配的DOM元素的value值,说白了就是返回表单控件的value值,该方法可返回字符串和数组,注意原生js的方法:元素对象.value;同时括号里面也可以设置值
append(content):在jquery对象包含的所有DOM元素节点内尾部插入content内容所代表的内容,其中content可以是字符串也可以是DOM元素还可以是jquery对象,当前jQuery对象内部插入其他元素A.append(B)
appendTo():将当前jQuery对象包含的DOM元素添加到selector匹配的所有DOM的内部尾端,B.appendTo(A)
prepend(content):在jQuery对象包含的所有DOM节点内的顶部插入content所代表的内容,括号内容可以是HTML字符川,也可以是DOM元素,也可以是jquery对象
prependTo():将当前jQuery对象包含的DOM元素添加到selector匹配的所有DOM的内部顶端
after():在该jquery对象包含的所有DOM节点之后添加括号里面的内容,内容类型同上
before():在该jQuery对象包含的所有DOM节点之前添加括号里面的内容,内容类型同上
insertAfter():将当前jQuery对象包含的所有DOM节点插入到括号里面匹配所有节点之后
insertBefore():将当前jQuery对象包含的所有DOM节点插入到括号匹配的所有节点之前
wrap():包裹当前jquery对象包含的每个DOM节点,是把JQuery对象里的每个DOM元素都进行包裹,jquery对象里面有几个元素就包裹几次
wrapAll():将jQuery对象的所有DOM元素当成一个整体进行包裹,不管对象里有多少个DOM元素都只包裹一次
warpInner():包裹当前jQuery对象包含的每个节点的内部部分,即是不在包裹节点的全部,而是仅包裹节点内的部分
unwrap():该方法是wrap()方法的逆操作,它会去除该jQuery对象中所有的DOM节点的父元素
replaceWidth():将当前jQuery对象包含的所有DOM对象替换成括号里面的内容,括号里面的内容可以是HTML字符串,DOM对象,jquery对象
replaceAll():将当前jQuery对象包含的所有DOM对象替换成括号里面匹配的元素
empty():删除当前jQuery对象包含的所有DOM节点的内容,注意仅保存,每个dom节点对应开始标签和结束标签<p></p>
remove():删除当前jQuery对象包含的所有DOM节点,如果括号里面指定了选择器,则只删除括选择器匹配的DOM节点
detach():该方法的功能与remove()方法类似,区别只在于detach()方法会保留被删除元素上一次的事件操作关联的数据,当需要在后面某个时刻重新插入该被删除的元素时,上次的执行操作仍然会保留,此方法比较有用
clone():复制当前jquery里包含的所有DOM元素并且选中这些复制出来的副本,用处:当需要把DOM文档中元素的副本添加到其他位置时,这个方法就特别有用,注意当括号里面有参数true时,那么它便会复制保留该DOM元素上事件操处理函数和动作。
针对上面常常的一些方法,真的无比枯燥,上面列出的方法,自己暂时可能记得住,但是时间长了,如果一些方法不经常用,也会忘记,如果忘记了,查文档手册是最快的,列出来只是让自己再次熟悉一下的,这些方法应该对应一些小案例,边理解就不会在觉得混乱了的
《js与jquery版本的选项卡》

非常一简单的选项卡,用js代码写一大串代码,而用jquery三两行代码就可以搞定,中间更是体现了,写的更少,做得更多,其间,看出,jquery代码中,已经方法函数化,链式操作,取值和赋值合体的特点。
最后还是对上面写的东西进行一下总结:
《jquery的使用特点:(1~8)》
《关于jquery的写法》
《关于js与jquery使用》
《关于$(function(){}),$(document).ready(function(){}与window.onload)的使用》
《分清jquery对象还是js对象》
《如何让jquery与其他javascript库共存》
《jQuery函数与jquery对象及jQuery方法区别》
《jQuery中四种不同的调用方式》
《js和jquery如何获取属性值和设置HTML属性》
《如何过滤和仿DOM导航的相关方法》
《如何操作元素的方法,操作DOM节点,添加,删除,替换,复制》
《js与jquery版本的选项卡》
其实jquery最终会发现,jquery的使用:1:获取jquery对象(n多种方式..)
2:jquery中有哪些方法,调用jQuery对象的方法来改变自身,当jquery对象被改变时,jQuery包装的对象也随之改变,从而html页面也随之改变了的,觉得最为重要的还是javascript,是jquery帮我们做了二次封装,只是一个工具而已
今天就聊到这的吧,更多文章和学习笔记心得尽在 ”itclan“微信公众号
收藏知识,分享快乐,如果你觉得还阔以,可以分享出去哦,当然自己水平有限,也会努力的!!!

微信扫一扫
关注该公众号
浙公网安备 33010602011771号