《2022年jQuery的常用技巧 .pdf》由会员分享,可在线阅读,更多相关《2022年jQuery的常用技巧 .pdf(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、jQuery 的常用技巧12 招1 / 13jquery的一些技巧总结由于这个代码运行框有那么以丢丢的问题,所有我就不用那个了;由于本文是转载的,原文有的地方很明显有错,我已改。如发现错误,请联系我,做及时纠正。谢谢 jquery是轻量级的js 库(压缩后只有 21k) , 它兼容 CSS3,还兼容各种浏览器。由于jQuery对象本身是一个集合。所以如果jQuery对象要转换为dom对象则必须取出其中的某一项,一般可通过索引取出。1、关于页面元素的引用通过 jQuery的$()引用元素包括通过id 、 class 、 元素名以及元素的层级关系及dom 或者 xpath条件等方法,且返回的对象为
2、jQuery对象(集合对象) ,不能直接调用dom定义的方法。2、jQuery对象与 dom对象的转换只有 jQuery对象才能使用jQuery定义的方法。注意dom对象和 jQuery对象是有区别的,调用方法时要注意操作的是dom对象还是 jQuery对象。 普通的 dom 对象一般可以通过$()转换成 jQuery对象。如: $(document.getElementById(”msg ”)则为 jQuery对象,可以使用jQuery的方法。由于 jQuery对象本身是一个集合。所以如果jQuery对象要转换为dom对象则必须取出其中的某一项,一般可通过索引取出。如: $(”#msg ”)
3、0 ,$(”div ”).eq(1)0 ,$(”div ”).get()1 ,$(”td ”)5 这些都是dom对象,可以使用 dom中的方法,但不能再使用jQuery的方法。以下几种写法都是正确的:$(#msg” ).html(); $(#msg” )0.innerHTML; $(#msg” ).eq(0)0.innerHTML; $(#msg” ).get(0).innerHTML;3、如何获取jQuery集合的某一项对于获取的元素集合,获取其中的某一项(通过索引指定)可以使用eq 或 get(n) 方法或者索引号获名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
4、- - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 13 页 - - - - - - - - - jQuery 的常用技巧12 招2 / 13取,要注意, eq 返回的是 jQuery对象,而get(n) 和索引返回的是dom元素对象。对于jQuery对象只能使用 jQuery的方法,而dom对象只能使用dom 的方法,如要获取第三个 元素的内容。有如下两种方法:$(div ”).eq(2).html(); /调用 jQuery对象的方法$(div ”).get(2).innerHTML; /调用 dom的方法属性4、同一函数实现set 和 get
5、 jQuery中的很多方法都是如此,主要包括如下几个:$(#msg).html(); /返回 id 为 msg 的元素节点的html内容。$(#msg).html(new content); / 将“new content 作为 html串写入 id为 msg 的元素节点内容中,页面显示粗体的new content $(#msg).text(); /返回 id 为 msg 的元素节点的文本内容。$(#msg).text(new content); / 将“ new content 作为普通文本串写入id 为 msg 的元素节点内容中,页面显示 new content $(#msg).heigh
6、t(); /返回 id 为 msg 的元素的高度$(#msg).height(300 ); / 将 id 为 msg 的元素的高度设为300 $(#msg).width(); /返回 id 为 msg 的元素的宽度$(#msg).width(300 ); / 将 id 为 msg 的元素的宽度设为300 $(input).val(); /返回表单输入框的value 值$(input).val(test); /将表单输入框的value 值设为 test $(#msg).click(); /触发 id 为 msg 的元素的单击事件$(#msg).click(fn); /为 id 为 msg 的元素
7、单击事件添加函数同样 blur,focus,select,submit事件都可以有着两种调用方法5、集合处理功能对于 jQuery返回的集合内容无需我们自己循环遍历并对每个对象分别做处理,jQuery已经为我们提供的很方便的方法进行集合的处理。包括两种形式:$(p” ).each(function(i)this.style.color=#f00,#0f0,#00f i ) / 为索引分别为0,1,2 的 p 元素分别设定不同的字体颜色。$(tr” ).each(function(i)this.style.backgroundColor=#ccc,#fffi%2) 名师资料总结 - - -精品资
8、料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 13 页 - - - - - - - - - jQuery 的常用技巧12 招3 / 13/ 实现表格的隔行换色效果$(p” ).click(function()alert($(this).html() / 为每个 p 元素增加了click 事件,单击某个p 元素则弹出其内容6、扩展我们需要的功能$.extend( min: function(a, b)return a b ? a : b; ); / 为 jQuery扩展了 min,max两个方法使用扩
9、展的方法(通过“$.方法名”调用) :alert(” a=10,b=20,max=” +$.max(10,20)+” ,min=” +$.min(10,20);7、支持方法的连写所谓连写,即可以对一个jQuery对象连续调用各种不同的方法。例如:$(p).click(function()alert($(this).html() .mouseover(function()alert(mouse over event) .each(function(i)this.style.color=#f00,#0f0,#00f i ); 8、操作元素的样式主要包括以下几种方式:$(#msg).css(back
10、ground); /返回元素的背景颜色$(#msg).css(background,#ccc) /设定元素背景为灰色$(#msg).height(300); $(#msg).width(200 ); / 设定宽高$(#msg).css( color: red, background: blue );/以名值对的形式设定样式$(#msg).addClass(select); /为元素增加名称为select 的 class $(#msg).removeClass(select); /删除元素名称为select 的 class 名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
11、 - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 13 页 - - - - - - - - - jQuery 的常用技巧12 招4 / 13$(#msg).toggleClass(select); /如果存在(不存在)就删除(添加)名称为select 的 class 9、完善的事件处理功能jQuery已经为我们提供了各种事件处理方法,我们无需在html元素上直接写事件,而可以直接为通过 jQuery获取的对象添加事件。如:$(”#msg ”).click(function()alert(”good ”) / 为元素添加了单击事件$( “ p”
12、).click(function(i)this.style.color=#f00,#0f0,#00f i ) / 为三个不同的p 元素单击事件分别设定不同的处理jQuery中几个自定义的事件:(1)hover(fn1,fn2):一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。当鼠标移动到一个匹配的元素上面时,会触发指定的第一个函数。当鼠标移出这个元素时,会触发指定的第二个函数。/ 当鼠标放在表格的某行上时将class 置为 over ,离开时置为out 。$(tr” ).hover(function()$(this).addClass(” over” ); ,function(
13、) $(this).addClass(” out ” ); ); (2)ready(fn): 当 DOM 载入就绪可以查询及操纵时绑定一个要执行的函数。$(document).ready(function()alert(” Load Success” ) / 页面加载完毕提示“Load Success ”,相当于 onload事件。与 $(fn) 等价(3)toggle(evenFn,oddFn): 每次点击时切换要调用的函数。如果点击了一个匹配的元素,则触发指定的第一个函数,当再次点击同一元素时,则触发指定的第二个函数。随后的每次点击都重复对这两个函数的轮番调用。/ 每次点击时轮换添加和删除
14、名为selected的 class 。$(p” ).toggle(function() $(this).addClass(” selected” ); ,function() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 13 页 - - - - - - - - - jQuery 的常用技巧12 招5 / 13$(this).removeClass(” selected” ); ); (4)trigger(eventtype): 在每一个匹配的元素上触发某类事件。例如:
15、$(p ”).trigger(”click ”); / 触发所有 p 元素的 click 事件(5)bind(eventtype,fn),unbind(eventtype): 事件的绑定与反绑定从每一个匹配的元素中(添加)删除绑定的事件。例如:$(p).bind(click, function()alert($(this).text();); /为每个 p 元素添加单击事件$(p).unbind(); /删除所有 p 元素上的所有事件$(p).unbind(click) /删除所有 p 元素上的单击事件10、几个实用特效功能其中 toggle() 和 slidetoggle()方法提供了状态切
16、换功能。如toggle() 方法包括了hide() 和 show() 方法。 slideToggle()方法包括了slideDown()和 slideUp方法。11、几个有用的jQuery方法$.browser. 浏览器类型:检测浏览器类型。有效参数:safari, opera, msie, mozilla。如检测是否ie:$.browser.isie,是 ie 浏览器则返回true 。$.each(obj, fn):通用的迭代函数。可用于近似地迭代对象和数组(代替循环)。如$.each( 0,1,2, function(i, n) alert( Item # + i + : + n ); )
17、; 等同于:var tempArr=0,1,2; for(var i=0;i 0 ? i + 1 : null; ); tempArr内容为: 2,3 $.merge(arr1,arr2):合并两个数组并删除其中重复的项目。如: $.merge( 0,1,2, 2,3,4 ) /返回 0,1,2,3,4 $.trim(str):删除字符串两端的空白字符。如:$.trim( hello, how are you? ); /返回 hello,how are you? 12、解决自定义方法或其他类库与jQuery的冲突很多时候我们自己定义了$(id) 方法来获取一个元素,或者其他的一些js 类库如
18、prototype也都定义了 $方法,如果同时把这些内容放在一起就会引起变量方法定义冲突,jQuery对此专门提供了方法用于解决此问题。使用 jQuery中的 jQuery.noConflict();方法即可把变量$的控制权让渡给第一个实现它的那个库或之前自定义的$方法。之后应用 jQuery的时候只要将所有的$换成 jQuery即可,如原来引用对象方法$(#msg)改为 jQuery(#msg)。如:jQuery.noConflict(); / 开始使用 jQuery 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整
19、理 - - - - - - - 第 6 页,共 13 页 - - - - - - - - - jQuery 的常用技巧12 招7 / 13jQuery(div p).hide(); / 使用其他库的$() $(content).style.display = none; jquery的一些技巧总结通过学习本文档, 能够对 jQuery有一个简单的认识了解,清楚 JQuery与其他 JS 框架的不同, 掌握jQuery的常用语法、使用技巧及注意事项。1、使用方法在需要使用 JQuery的页面中引入JQuery 的 js 文件即可。例如: 引入之后便可在页面的任意地方使用jQuery提供的语法。2
20、、学习教程及参考资料请参照 jQuery中文 API 手册和 http:/ 推荐两篇不错的jquery教程: jQuery的起点教程和使用jQuery 简化Ajax 开发(说明:以上文档都放在了【附件】中) 3、语法总结和注意事项1、关于页面元素的引用通过 jquery的$()引用元素包括通过id 、class 、元素名以及元素的层级关系及dom或者 xpath 条件等方法,且返回的对象为jquery对象(集合对象) ,不能直接调用dom定义的方法。2、jQuery对象与 dom对象的转换只有 jquery对象才能使用jquery定义的方法。注意dom对象和 jquery对象是有区别的,调用方
21、法时要注意操作的是dom对象还是 jquery对象。普通的 dom对象一般可以通过$()转换成 jquery对象。如: $(document.getElementById(msg)则为 jquery对象,可以使用jquery的方法。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 13 页 - - - - - - - - - jQuery 的常用技巧12 招8 / 13由于 jquery对象本身是一个集合。所以如果jquery对象要转换为dom对象则必须取出其中的某一项,一
22、般可通过索引取出。如: $(#msg)0,$(div).eq(1)0,$(div).get()1,$(td)5这些都是dom对象,可以使用dom中的方法,但不能再使用Jquery 的方法。以下几种写法都是正确的:$(#msg).html(); $(#msg)0.innerHTML; $(#msg).eq(0)0.innerHTML; $(#msg).get(0).innerHTML; 3、如何获取jQuery集合的某一项对于获取的元素集合,获取其中的某一项(通过索引指定)可以使用eq 或 get(n) 方法或者索引号获取,要注意, eq 返回的是 jquery对象,而 get (n) 和索引返
23、回的是dom元素对象。对于jquery对象只能使用 jquery的方法,而dom 对象只能使用dom的方法,如要获取第三个元素的内容。有如下两种方法:$(div).eq(2).html(); / 调用 jquery对象的方法$(div).get(2).innerHTML; / 调用 dom 的方法属性4、同一函数实现set 和 get Jquery中的很多方法都是如此,主要包括如下几个:$(#msg).html(); / 返回 id 为 msg 的元素节点的html内容。$(#msg).html(new content); / 将 “new content”作为 html串写入 id 为 ms
24、g 的元素节点内容中,页面显示粗体的new content $(#msg).text(); / 返回 id 为 msg 的元素节点的文本内容。$(#msg).text(new content); / 将“ new content” 作为普通文本串写入id 为 msg 的元素节点内容中,页面显示粗体的new content 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 13 页 - - - - - - - - - jQuery 的常用技巧12 招9 / 13$(#msg)
25、.height(); / 返回 id 为 msg 的元素的高度$(#msg).height(300); / 将 id 为 msg 的元素的高度设为300 $(#msg).width(); / 返回 id 为 msg 的元素的宽度$(#msg).width(300); / 将 id 为 msg 的元素的宽度设为300 $(input).val(); / 返回表单输入框的value 值$(input).val(test); / 将表单输入框的value 值设为 test $(#msg).click(); / 触发 id 为 msg 的元素的单击事件$(#msg).click(fn); / 为 id
26、 为 msg 的元素单击事件添加函数同样 blur,focus,select,submit事件都可以有着两种调用方法4、集合处理功能对于 jquery返回的集合内容无需我们自己循环遍历并对每个对象分别做处理,jquery已经为我们提供的很方便的方法进行集合的处理。包括两种形式:$(p).each(function(i)this.style.color=#f00,#0f0,#00f) / 为索引分别为0,1,2 的 p 元素分别设定不同的字体颜色。$(tr).each(function(i)this.style.backgroundColor=#ccc,#fffi%2) / 实现表格的隔行换色效
27、果$(p).click(function()alert($(this).html() / 为每个 p 元素增加了click 事件,单击某个p 元素则弹出其内容5、扩展我们需要的功能$.extend( min: function(a, b)return a b?a:b; ); / 为 jquery扩展了 min,max两个方法名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 13 页 - - - - - - - - - jQuery 的常用技巧12 招10 / 13使用扩展的
28、方法(通过“$.方法名”调用) :alert(a=10,b=20,max=+$.max(10,20)+,min=+$.min(10,20); 6、支持方法的连写所谓连写,即可以对一个jquery对象连续调用各种不同的方法。例如:$(p).click(function()alert($(this).html() .mouseover(function()alert(mouse over event) .each(function(i)this.style.color=#f00,#0f0,#00f); 7、操作元素的样式主要包括以下几种方式:$(#msg).css(background); / 返
29、回元素的背景颜色$(#msg).css(background,#ccc) / 设定元素背景为灰色$(#msg).height(300); $(#msg).width(200); / 设定宽高$(#msg).css( color: red, background: blue );/以名值对的形式设定样式$(#msg).addClass(select); / 为元素增加名称为select 的 class $(#msg).removeClass(select); / 删除元素名称为select 的 class $(#msg).toggleClass(select); / 如果存在(不存在) 就删除(
30、添加) 名称为 select 的 class 8、完善的事件处理功能Jquery已经为我们提供了各种事件处理方法,我们无需在html元素上直接写事件,而可以直接为通过 jquery获取的对象添加事件。如:$(#msg).click(function()alert(good) / 为元素添加了单击事件$(p).click(function(i)this.style.color=#f00,#0f0,#00f) / 为三个不同的p 元素单击事件分别设定不同的处理jQuery中几个自定义的事件:(1)hover(fn1,fn2):一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。当鼠标移
31、动到一个匹配的元素上面时,会触发指定的第一个函数。当鼠标移出这个元素时,会触发指定的第二名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 13 页 - - - - - - - - - jQuery 的常用技巧12 招11 / 13个函数。/ 当鼠标放在表格的某行上时将class 置为 over ,离开时置为out 。$(tr).hover(function() $(this).addClass(over); , function() $(this).addClass(ou
32、t); ); (2)ready(fn): 当 DOM 载入就绪可以查询及操纵时绑定一个要执行的函数。$(document).ready(function()alert(Load Success) / 页面加载完毕提示“Load Success ”,相当于 onload事件。与 $(fn) 等价(3)toggle(evenFn,oddFn): 每次点击时切换要调用的函数。如果点击了一个匹配的元素,则触发指定的第一个函数,当再次点击同一元素时,则触发指定的第二个函数。随后的每次点击都重复对这两个函数的轮番调用。/ 每次点击时轮换添加和删除名为selected的 class 。$(p).toggle
33、(function() $(this).addClass(selected); ,function() $(this).removeClass(selected); ); (4)trigger(eventtype): 在每一个匹配的元素上触发某类事件。例如:$(p).trigger(click); / 触发所有p 元素的 click 事件(5)bind(eventtype,fn),unbind(eventtype): 事件的绑定与反绑定从每一个匹配的元素中(添加)删除绑定的事件。例如:$(p).bind(click, function()alert($(this).text();); / 为每
34、个 p 元素添加单击事件$(p).unbind(); / 删除所有 p 元素上的所有事件$(p).unbind(click) / 删除所有 p 元素上的单击事件名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 13 页 - - - - - - - - - jQuery 的常用技巧12 招12 / 139、几个实用特效功能其中 toggle()和 slidetoggle()方法提供了状态切换功能。如 toggle()方法包括了hide() 和 show() 方法。slide
35、Toggle()方法包括了slideDown()和 slideUp方法。10、几个有用的jQuery方法$.browser. 浏览器类型:检测浏览器类型。有效参数:safari, opera, msie, mozilla。如检测是否ie:$.browser.isie,是 ie 浏览器则返回true 。$.each(obj, fn):通用的迭代函数。可用于近似地迭代对象和数组(代替循环)。如$.each( 0,1,2, function(i, n) alert( Item # + i + : + n ); ); 等价于:var tempArr=0,1,2; for(var i=0;i 0 ? i
36、 + 1 : null; ); tempArr内容为: 2,3 $.merge(arr1,arr2):合并两个数组并删除其中重复的项目。如: $.merge( 0,1,2, 2,3,4 ) / 返回 0,1,2,3,4 $.trim(str):删除字符串两端的空白字符。如: $.trim( hello, how are you? ); / 返回 hello,how are you? 11、解决自定义方法或其他类库与jQuery的冲突很多时候我们自己定义了$(id) 方法来获取一个元素, 或者其他的一些js 类库如 prototype也都定义了$方法,如果同时把这些内容放在一起就会引起变量方法定
37、义冲突,Jquery对此专门提供了方法用于解决此问题。使用 jquery中的 jQuery.noConflict();方法即可把变量 $的控制权让渡给第一个实现它的那个库或之前自定义的 $方法。之后应用Jquery的时候只要将所有的$换成jQuery即可,如原来引用对象方法$(#msg)改为 jQuery(#msg)。如: jQuery.noConflict(); / 开始使用 jQuery jQuery(div p).hide(); / 使用其他库的$() $(content).style.display = none; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 13 页 - - - - - - - - -