打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【锐利的JQuery】 学习笔记
  1. //------------------------- 第一章 认识JQuery -------------------------  
  2.   
  3. ·页面加载事件(可以写多个ready())  
  4. $(document).ready(function(){  
  5.     alert("hello world");  
  6. })  
  7.   
  8. ·链式操作:JQuery允许你在一句代码中操做任何与其相关联的元素,包括其子元素、父元素等  
  9. //选择名称为myDiv的元素,为其自身添加css1的样式,然后再选择其所有子元素a,为其移除css2样式  
  10. $("#myDiv").addClass("css1").children("a").removeClass("css2");  
  11.   
  12. ·JQuery中获得一个对象的所有子元素内容  
  13. $("#myDiv").html()  
  14.   
  15. ·JQuery中的变量 与 DOM中的变量  
  16. var $myVar = "";  
  17. var myVar = "";  
  18.   
  19. ·DOM对象 转换成 JQuery对象  
  20. var obj = documnet.getElementById("myDiv");  
  21. var $obj = $(obj);  
  22.   
  23. ·JQuery对象 转换成 DOM对象  
  24. var $obj = $("#myDiv");  
  25. var obj = $obj.get(0);  //或者var obj = $obj[0];  
  26.   
  27. ·释放JQuery对$符号的控制权  
  28. JQuery.noConflict();  
  29.   
  30.   
  31. //---------------------------- 第二章 JQuery选择器 -------------------------------  
  32.   
  33. ·JQuery完善的处理机制  
  34. document.getElementById("test").style.color = "red"//如果test不存在,则页面出现异常  
  35. $("#test").css("color","red"); //哪怕页面没有名称为test的元素,也不会报错。它是一个JQuery对象  
  36.   
  37. ·判断页面是否选择的对象  
  38. if( $(".class").length > 0 ){  
  39.     // todo something  
  40. }  
  41.   
  42. ·基本选择器  
  43. $("#myDiv")    //根据给定的ID选择匹配的元素,返回:单个元素  
  44. $(".myClass"//根据给定的样式名称选择匹配的元素,返回:集合元素  
  45. $("div"//根据给定的元素名称选择匹配的元素,返回:集合元素  
  46. $("#myDiv,div.myClass,span"//根据给定的规则选择匹配的元素,返回:集合元素  
  47. $("*"//选择页面所有元素,返回:集合元素  
  48.   
  49. ·层次选择器  
  50. $("div span"//选择所有DIV元素下的所有SPAN元素(所有后代元素),返回:集合元素  
  51. $("div>span"//选择所有DIV元素下的SPAN子元素(仅子元素),返回:集合元素  
  52. $(".myClass+div"//选择样式名称为myClass的下一个DIV元素,返回:集合元素  
  53. $(".myClass+div"//等价于 $(".myClass").next("div");  
  54. $(".myClass~div"//选择样式名称为myClass之后的所有DIV元素,返回:集合元素  
  55. $(".myClass~div"//等价于 $(".myClass").nextAll();  
  56. $(".myClass").siblings("div"//选择样式名称为myClass的元素的所有同辈DIV元素(无论前后),返回集合元素  
  57.   
  58. ·过滤选择器(index从0开始)  
  59. $("div:first"//选择所有DIV元素下的第一个DIV元素,返回:单个元素  
  60. $("div:last"//选择所有DIV元素下的最后一个DIV元素,返回:单个元素  
  61. $("div:not(.myClass)"//选择所有样式不包括myClass的DIV元素,返回:集合元素  
  62. $("div:even"//选择所有索引是偶数的DIV元素,返回:集合元素  
  63. $("div:odd"//选择所有索引是奇数的DIV元素,返回:集合元素  
  64. $("div:eq(index)"//选择所有索引等于index的DIV元素,返回:集合元素  
  65. $("div:gt(index)"//选择所有索引大于index的DIV元素,返回:集合元素  
  66. $("div:lt(index)"//选择所有索引小于index的DIV元素,返回:集合元素  
  67. $(":header"//选择所有标题元素(h1,h2,h3),返回:集合元素  
  68. $("div:animated"//选择所有正在执行去画的DIV元素,返回:集合元素  
  69.   
  70. ·子元素过滤选择器(index从1开始)  
  71. $(":nth-child(index/even/odd)"//选择每个父元素下的第index/偶数/奇数个子元素,返回:集合元素  
  72. $(":first-child"//选择每个父元素下的第一个子元素,返回:集合元素  
  73. $(":last-child"//选择每个父元素下的最后一个子元素,返回:集合元素  
  74. $("ul li:only-child"//在UL元素中选择只有一个LI元素的子元素,返回:集合元素  
  75.   
  76. ·内容过滤选择器  
  77. $(":contains(text)"//选择所有内容包含text的元素,返回:集合元素  
  78. $("div:empty"//选择所有内容为空的DIV元素,返回:集合元素  
  79. $("div:has(span)"//选择所有含有SPAN子元素的DIV元素,返回:集合元素  
  80. $("div:parent"//选择所有含有子元素的DIV元素,返回:集合元素  
  81.   
  82. ·可见性选择器  
  83. $(":hidden"//选择所有不可见的元素(type="hidden" style="display:none" style="visibility:none"),返回:集合元素  
  84. $(":visible"//选择所有可见的元素,返回:集合元素  
  85.   
  86. ·属性过滤选择器  
  87. $("[id]"//选择所有含有id属性的元素,返回:集合元素  
  88. $("[class=myClass]"//选择所有class属性值是myClass的元素,返回:集合元素  
  89. $("[class!=myClass]"//选择所有class属性值不是myClass的元素,返回:集合元素  
  90. $("[alt^=begin]"//选择所有alt属性值以begin开始的元素,返回:集合元素  
  91. $("[alt^=end]"//选择所有alt属性值以end结束的元素,返回:集合元素  
  92. $("[alt*=some]"//选择所有alt属性值含有some的元素,返回:集合元素  
  93. $("div[id][class=myClass]"//选择所有含有id属性的并且class属性值是myClass的元素,返回:集合元素  
  94.   
  95. ·表单对象属性选择器  
  96. $("#myForm:enabled"//选择ID属性为myForm的表单的所有可用元素,返回:集合元素  
  97. $("#myForm:disabled"//选择ID属性为myForm的表单的所有不可用元素,返回:集合元素  
  98. $("#myForm:checked"//选择ID属性为myForm的表单的所有所有被选中的元素,返回:集合元素  
  99. $("#myForm:selected"//选择ID属性为myForm的表单的所有所有被选中的元素,返回:集合元素  
  100.   
  101. ·表单选择器  
  102. $(":input"//选择所有<input> <select> <button> <textarea>元素,返回:集合元素  
  103. $(":text"//选择所有单行文本框元素,返回:集合元素  
  104. $(":password"//选择所有密码框元素,返回:集合元素  
  105. $(":radio"//选择所有单选框元素,返回:集合元素  
  106. $(":checkbox"//选择所有复选框元素,返回:集合元素  
  107. $(":submit"//选择所有提交按钮元素,返回:集合元素  
  108. $(":image"//选择所有图片按钮元素,返回:集合元素  
  109. $(":reset"//选择所有重置按钮元素,返回:集合元素  
  110. $(":button"//选择所有按钮元素,返回:集合元素  
  111. $(":file"//选择所有上传域元素,返回:集合元素  
  112. $(":hidden"//选择所有不可见域元素,返回:集合元素  
  113. $(":text"//选择所有单选文本框元素,返回:集合元素  
  114.   
  115.   
  116. //---------------------------- 第三章 JQuery中的DOM操作 -------------------------------  
  117.   
  118. ·查找元素节点  
  119. var str = $("#myDiv").text(); //<div id="myDiv" title="hello">123</div>  
  120. alert(str); //结果:123  
  121.   
  122. ·查找属性节点  
  123. var str = $("#myDiv").attr("title"); //<div id="myDiv" title="hello">123</div>  
  124. alert(str); //结果:hello  
  125.   
  126. ·创建元素节点  
  127. var $li1 = $("<span></span>"); //传入元素标记,自动包装并创建第一个li元素对象  
  128. var $li2 = $("<span></span>"); //第二个,创建时需要遵循XHTML规则(闭合、小写)  
  129. $("#myDiv").append($li1); //往id为myDiv的元素中添加一个元素  
  130. $("#myDiv").append($li2); //结果:<div id="myDiv"><span></span><span></span></div>  
  131.   
  132. $("#myDIv").append($li1).append($li2); //客串:传说中的链式写法,省一行代码 ^_^  
  133.   
  134. ·创建文本节点  
  135. var $li1 = $("<span>first</span>");  
  136. var $li2 = $("<span>second</span>");  
  137. $("#myDIv").append($li1).append($li2);  
  138. //结果:<div id="myDiv"><span>first</span><span>second</span></div>  
  139.   
  140. ·创建属性节点  
  141. var $li1 = $("<span title="111">first</span>");  
  142. var $li2 = $("<span title="222">second</span>");  
  143. $("#myDIv").append($li1).append($li2);   
  144. //结果:<div id="myDiv"><span title="111">first</span><span title="222">second</span></div>  
  145.   
  146. ·插入节点  
  147. $("#myDiv").append("<span></span>"); //往id为myDiv的元素插入span元素  
  148. $("<span></span>").appendTo("#myDiv"); //倒过来,将span元素插入到id为myDiv的元素  
  149.   
  150. $("#myDiv").prepend("<span></span>"); //往id为myDiv的元素内最前面插入span元素  
  151. $("<span></span>").prependTo("#myDiv"); //倒过来,将span元素插入到id为myDiv的元素内的最前面  
  152.   
  153. $("#myDiv").after("<span></span>"); //往id为myDiv的元素后面插入span元素(同级,不是子元素)  
  154. $("<span></span>").insertAfter("#myDiv"); //倒过来,将span元素插入到id为myDiv的元素后面(同级,不是子元素)  
  155.   
  156. $("#myDiv").before("<span></span>"); //往id为myDiv的元素前面插入span元素(同级,不是子元素)  
  157. $("<span></span>").insertBefore("#myDiv"); //倒过来,将span元素插入到id为myDiv的元素前面(同级,不是子元素)  
  158.   
  159. ·删除节点  
  160. $("#myDiv").remove(); //将id为myDiv的元素移除  
  161.   
  162. ·清空节点  
  163. $("#myDiv").remove("span"); //将id为myDiv的元素内的所有span元素移除  
  164.   
  165. ·复制节点  
  166. $("#myDiv span").click( function(){ //点击id为myDiv的元素内的span元素,触发click事件  
  167.     $(this).clone().appendTo("#myDiv"); //将span元素克隆,然后再添加到id为myDiv的元素内  
  168.     $(this).clone(true).appendTo("#myDiv"); //如果clone传入true参数,表示同时复制事件  
  169. })  
  170.   
  171. ·替换节点  
  172. $("p").replaceWith("<strong>您好</strong>"); //将所有p元素替换成后者 <p>您好</p> --> <strong>您好</strong>  
  173. $("<strong>您好</strong>").replaceAll("p"); //倒过来写,同上  
  174.   
  175. ·包裹节点  
  176. $("strong").wrap("<b></b>"); //用b元素把所有strong元素单独包裹起来 <b><strong>您好</strong></b><b><strong>您好</strong></b>  
  177. $("strong").wrapAll("<b></b>"); //用b元素把所有strong元素全部包裹起来 <b><strong>您好</strong><strong>您好</strong></b>  
  178. $("strong").wrapInner("<b></b>"); //把b元素包裹在strong元素内 <strong><b>您好</b></strong>  
  179.   
  180. ·属性操作  
  181. var txt = $("#myDiv").arrt("title"); //获取id为myDiv的元素的title属性  
  182. $("#myDiv").attr("title","我是标题内容"); //设置id为myDiv的元素的title属性的值  
  183. $("#myDiv").attr({"title":"我是标题内容""alt":"我还是标题"); //一次性设置多个属性的值  
  184. $("#myDiv").removeArrt("alt"); //移除id为myDiv的元素的title属性  
  185.   
  186. ·样式操作  
  187. var txt = $("#myDiv").arrt("class"); //获取id为myDiv的元素的样式  
  188. $("#myDiv").attr("class","myClass"); //设置id为myDiv的元素的样式  
  189. $("#myDiv").addClass("other"); //在id为myDiv的元素中追加样式  
  190. $("#myDiv").removeClass("other"); //在id为myDiv的元素中移除other样式  
  191. $("#myDiv").removeClass("myClass other"); //在id为myDiv的元素中移除myClass和other多个样式  
  192. $("#myDiv").removeClass(); //在id为myDiv的元素中移除所有样式  
  193. $("#myDiv").toggleClass("other"); //切换样式,在有other样式和没other样式之间切换  
  194. $("#myDiv").hasClass("other"); //判断是否有other样式  
  195.   
  196. ·设置和获取HTML、文本和值  
  197. alert( $("#myDiv").html() ); //获取id为myDiv的元素的HTML代码(相当于innerHTML)  
  198. $("#myDiv").html("<span>hello</span>"); //设置id为myDiv的元素的HTML代码  
  199.   
  200. alert( $("#myDiv").text() ); //获取id为myDiv的元素的HTML代码(相当于innerText)  
  201. $("#myDiv").text("hello"); //设置id为myDiv的元素的HTML代码  
  202.   
  203. alert( $("#myInput").val() ); //获取id为myDiv的元素的value值(支持文本框、下拉框、单选框、复选框等)  
  204. $("#myInput").val("hello"); //设置id为myDiv的元素的value值(下拉框、单选框、复选框带有选中效果)  
  205.   
  206. ·遍历节点  
  207. var $cList = $("#myDiv").children(); //获取id为myDiv的元素的子元素(只考虑子元素,不考虑后代元素)  
  208. var $sNext = $("#myDiv").next(); //获取id为myDiv的元素的下一个同辈元素  
  209. var $sPrev = $("#myDiv").prev(); //获取id为myDiv的元素的上一个同辈元素  
  210. var $sSibl = $("#myDiv").siblings(); //获取id为myDiv的元素的所有同辈元素  
  211. var $pClos = $("#myDiv").closest("span"); //获取id为myDiv的元素本身开始,最接近的span元素(向上查找)  
  212.   
  213. ·CSS-DOM操作  
  214. $("#myDiv").css("color"); //获取id为myDiv的元素的color样式的值  
  215. $("#myDiv").css("color""blue"); //设置id为myDiv的元素的color样式的值  
  216. $("#myDiv").css({"color":"blue""fontSize":"12px"}); //设置id为myDiv的元素的color样式的值(多个)  
  217.   
  218. $("#myDiv").css("opacity""0.5"); //设置id为myDiv的元素的透明度(兼容浏览器)  
  219.   
  220. $("#myDiv").css("height"); //获取id为myDiv的元素的高度(单位:px,兼容浏览器)  
  221. $("#myDiv").height(); //同上(实际高度)  
  222.   
  223. $("#myDiv").css("width"); //获取id为myDiv的元素的宽度(单位:px,兼容浏览器)  
  224. $("#myDiv").width(); //同上(实际宽度)  
  225.   
  226. var offset = $("#myDiv").offset(); //获取id为myDiv的元素在当前窗口的相对偏移量  
  227. alert( offset.top + "|" + offset.left );  
  228.   
  229. var offset = $("#myDiv").position(); //获取id为myDiv的元素相对于最近一个position设置为relative或absolute的父元素的相对偏移量  
  230. alert( offset.top + "|" + offset.left );  
  231.   
  232. $("#txtArea").scrollTop(); //获取id为txtArea的元素滚动条距离顶端的距离  
  233. $("#txtArea").scrollLeft(); //获取id为txtArea的元素滚动条距离左侧的距离  
  234. $("#txtArea").scrollTop(100); //设置id为txtArea的元素滚动条距离顶端的距离  
  235. $("#txtArea").scrollLeft(100); //设置id为txtArea的元素滚动条距离左侧的距离  
  236.   
  237.   
  238. //---------------------------- 第四章 JQuery中的事件和动画 -------------------------------  
  239.   
  240. ·加载DOM  
  241. $(window).load() 等价于 window.onload 事件  
  242.   
  243. $(document).ready() 相当于window.onload事件,但有些区别:  
  244.   (1)执行时机:  
  245.   window.onload 是在网页中所有元素(包括元素的所有关联文件)完全加载后才执行  
  246.   $(document).ready() 是在DOM完全就绪时就可以被调用,此时,并不意味着这些元素关系的文件都已经下载完毕  
  247.     
  248.   (2)多次使用:可以在同一个页面注册多个$(document).ready()事件  
  249.   (3)简写方式:可以缩写成 $(function(){ })  或  $().ready()  
  250.     
  251. ·事件绑定  
  252. 当文档装载完成后,可以通过bind()方法,为特定的元素进行事件的绑定,可重复多次使用  
  253.   bind( type, [data, ] fn );  
  254.   type:指事件的类型:   
  255.     blur(失去焦点)、focus(获得焦点)  
  256.     load(加载完成)、unload(销毁完成)  
  257.     resize(调整元素大小)、scroll(滚动元素)  
  258.     click(单击元素事件)、dbclick(双击元素事件)  
  259.     mousedown(按下鼠标)、mouseup(松开鼠标)  
  260.     mousemove(鼠标移过)、mouseover(鼠标移入)、mouseout(鼠标移出)  
  261.     mouseenter(鼠标进入)、mouseleave(鼠标离开)  
  262.     change(值改变)、select(下拉框索引改变)、submit(提交按钮)  
  263.     keydown(键盘按下)、keyup(键盘松开)、keypress(键盘单击)  
  264.     error(异常)  
  265.   data:指事件传递的属性值,event.data 额外传递给对象事件的值  
  266.   fn:指绑定的处理函数,在此函数体内,$(this)指携带相应行为的DOM元素  
  267.   
  268. ·合并事件  
  269. hover(enter,leave):鼠标移入执行enter、移出事件执行leave  
  270. $("#myDiv").hover( function(){  
  271.     $(this).css("border""1px solid black");0  
  272. }, function(){  
  273.     $(this).css("border""none");  
  274. });  
  275.   
  276. toggle(fn1,fn2,...fnN):鼠标每点击一次,执行一个函数,直到最后一个后重复  
  277. $("#myDiv").toggle( function(){  
  278.     $(this).css("border""1px solid black");0  
  279. }, function(){  
  280.     $(this).css("border""none");  
  281. });  
  282.   
  283. ·事件冒泡  
  284. 下面的例子,BODY元素下有DIV元素,DIV元素下有SPAN元素,分别将三种元素都注册click事件。  
  285. 那么,click事件会按照DOM的层次结构,像水泡一样不断向上直到顶端,所以称之为事件冒泡。  
  286. <body><div><span>我是SPAN我怕谁</span></div></body>  
  287. $("span").bind("click"function(){ alert('span click'); });  
  288. $("div").bind("click"function(){ alert('div click'); });  
  289. $("body").bind("click"function(){ alert('body click'); });  
  290.   
  291. ·阻止冒泡  
  292. 解决这个问题的办法是:在SPAN执行完click事件后,停止事件冒泡。  
  293. $("span").bind("click"function(event){  
  294.     alert('span click');  
  295.     event.stopPropagation(); //停止冒泡  
  296. });  
  297.   
  298. ·阻止默认行为  
  299. 提交按钮在提交前做相应的逻辑判断,当不满足时  
  300. $("#btnSubmit").bind("click"function(event){  
  301.     event.preventDefault(); //阻止默认行为 相当于return false;  
  302. });  
  303.   
  304. ·事件对象的属性  
  305. $("#myDiv").bind("click"function(event){ });  
  306. event.type() //返回:click  
  307. event.target() //获取当前元素  
  308. event.relatedTarget() //引发事件的元素  
  309. event.pageX()/event.pageY() //获取鼠标相对于页面的X和Y坐标  
  310. event.which() //在单击事件中获取到对应的按键 鼠标左中右分别是123  
  311. event.metaKey() //获取操作中的相关功能键(ctrl/alt/shift)  
  312.   
  313. ·移除事件  
  314. $("#myDiv").bind("click", fn1 = function(){  
  315.     alert("function1");  
  316. }).bind("click", fn2 = function(){  
  317.     alert("function2");  
  318. }).bind("click", fn3 = function(){  
  319.     alert("function3");  
  320. });  
  321. $("#myDiv").unbind(); //移除id为myDiv的元素的所有事件  
  322. $("#myDiv").unbind("click"); //移除id为myDiv的元素的所有click事件  
  323. $("#myDiv").unbind("click",fn1); //移除id为myDiv的元素的名称为fn1的click事件  
  324.   
  325. ·一次性事件:绑定的事件执行一次后自动移除  
  326. $("#myDiv").one("click", [data], function(){  
  327.     alert("function1");  
  328. });  
  329.   
  330. ·触发事件  
  331. $("#btn").trigger("click", [data]); //代码方式触发click事件  
  332. $("#btn").click(); //另一种简写方式  
  333.   
  334. ·事件命名空间  
  335. $("#myDiv").bind("click.hello"function(){  
  336.     alert("function1");  
  337. });  
  338. $("#myDiv").bind("click"function(){  
  339.     alert("function1");  
  340. })  
  341. $("div").unbind("click"); //两个事件都被移除  
  342. $("div").unbind(".hello"); //只移除第一个  
  343. $("div").unbind("click!"); //只移除第二个(注意感叹号,指没有名字空间的)  
  344.   
  345. ·JQuery中的动画  
  346. $("div").hide(); //隐藏所有DIV元素,相当于sytle="display:none"  
  347. $("div").show(); //显示所有DIV元素  
  348.   
  349. $("div").hide(1000); //一秒内隐藏所有DIV元素,其它参数还有:slow(600) normal(400) fast(200)  
  350. $("div").show(1000); //一秒内显示所有DIV元素  
  351.   
  352. $("div").fadeOut(); //降低元素的不透明度,直至消失(支持速度参数,不会改变宽高)  
  353. $("div").fadeIn(); //升高元素的不透明度,直至显示  
  354.   
  355. $("div").slideUp(); //由下至上收缩元素,直至消失(支持速度参数)  
  356. $("div").slideDown(); //由上至下展开元素,直至显示  
  357.   
  358. ·自定义动画animate  
  359. $(elem).animate(params, speed, callback);  
  360. params:样式属性及值的映射 {protected:"value"protected:"value"}  
  361. speed: 速度参数  
  362. callback: 动画完成后执行函数,可选  
  363.   
  364. $("#myDiv").animate({left:"500px"}, 2000); //两秒内ID为myDiv的元素移至左边距500px的位置  
  365. $("#myDiv").animate({left:"+=500px"}, 2000); //同上,支持累加、累减  
  366. $("#myDiv").animate({top:"200px", left:"+=500px"}, 2000); //同上,多重动画,同时执行  
  367.   
  368. $("#myDiv").animate({opacity:"0.5"}, 1000) //先变成50%透明  
  369.            .animate({top:"500px"}, 500) //移至离顶端500px  
  370.            .animate({left:"500px"}, 500) //移至离左边500px  
  371.            .fadeOut(1000); //显示出来 (四个动作为队列,一步步执行)  
  372.   
  373. $("#myDiv").stop([cleanQuene] [,gotuEnd]); //停止动画,参数为boolean  
  374.   
  375. $("#myDiv").is(":animate"//判断元素是否在执行动画  
  376.   
  377. ·其它动画  
  378. $("#myDiv").toggle(); //显示与隐藏元素  
  379. $("#myDiv").slideToggle(); //展开与收缩元素  
  380. $("#myDiv").fadeTo(1000, 0.2); //一秒内将元素透明度调整到20%  
  381.   
  382.   
  383. //-------------------- 第五章 JQuery对表单、表格的操作及更多应用 ------------------------  
  384.   
  385. ·单选文本框应用(获得焦点时,加了个特殊的样式,失去焦点时还原,兼容所有浏览器)  
  386. $(":input").focus(function(){ this.addClass("inputFocus"); })  
  387.            .blur(function(){ this.removeClass("inputFocus"); });  
  388.   
  389. ·多行文本框的应用(放大、缩小多行文本框的高度,限制最大500px,兼容所有浏览器)  
  390. var $txt = $("#textArea");  
  391. $(".bigger").click(function(){  
  392.     if( $txt.height() < 500) $txt.height( $txt.height() + 50 );  
  393.     //if( $txt.height() < 500) $txt.animate({height:"+=50"}, 500 );  
  394. });  
  395. $(".smaller").click(function(){  
  396.     if( $txt.height() > 100) $txt.height( $txt.height() - 50 );  
  397.     //if( $txt.height() < 500) $txt.animate({height:"-=50"}, 500 );  
  398. });  
  399.   
  400. ·复选框的应用(实现全选、全不选、反选)  
  401. $("#btnCheckedAll").click(function(){ //全选  
  402.     $("[name=items]:checkbox").attr("checked"true);  
  403. });  
  404. $("#btnCheckedNone").click(function(){ //全不选  
  405.     $("[name=items]:checkbox").attr("checked"false);  
  406. });  
  407. $("#btnCheckedRev").click(function(){ //反选  
  408.     $("[name=items]:checkbox").each(function(){  
  409.         $(this).attr("checked", !$(this).attr("checked"));  
  410.         //this.checked = !this.checked;  
  411.     }  
  412. });  
  413.   
  414. ·下拉框的应用(将一个下拉列表的选中项搬至另一个下拉列表)  
  415. $("#btnAdd").click(function(){ //将选中选项搬过去  
  416.     $("#mySelect1 option:selected").appendTo("#mySelect2");  
  417. });  
  418. $("#btnAddAll").click(function(){ //将全部选项搬过去  
  419.     $("#mySelect1 option").appendTo("#mySelect2");  
  420. });  
  421. $("#mySelect1").dblclick(function()[ //双击项搬过去  
  422.     $("#mySelect1 option:selected").appendTo("#mySelect2");  
  423. }  
  424.   
  425. ·表单验证  
  426. <form>  
  427.     <div>  
  428.         <label>用户名:</label>  
  429.         <input type="text" id="txtUid" class="required" value="" />  
  430.     </div>  
  431. </form>  
  432. $("form :input.required").each(function(){ //往每个class有required样式的input元素后面添加*号  
  433.     $(this).parent().append( $("<span class='star'>*</span>") );  
  434. });  
  435. $("form :input.required").blur(function(){ //失去焦点时验证域  
  436.     ifthis.value == "" ){  
  437.         $(this).parent().append( $("<span class='error'>必填字段</span>") );  
  438.     }  
  439.     else{  
  440.         $(this).parent().append( $("<span class='success'>验证正确</span>") );  
  441.         $(this).parent().find(".error").remove();  
  442.     }  
  443. }).keyup(function(){ //用户每点一个键触发  
  444.     $(this).triggerHandler("blur");  
  445. }).focus(function(){ //控制有焦点时触发  
  446.     $(this).triggerHandler("blur");  
  447. });  
  448. $("#btnSubmit").click(function(){  
  449.     $("form :input.required").trigger("blur"); //让所有需要验证的域失去焦点  
  450.     var errNum = $("form .error").length;  
  451.     if( errNum ){  
  452.         alert("有验证字段失败,请重新填写");  
  453.         return false;  
  454.     }  
  455. });  
  456.   
  457. ·表格应用  
  458. $("tr:odd").addClass("oddTr"); //给奇数行添加oddTr样式  
  459. $("tr:even").addClass("evenTr"); //给偶数行添加evenTr样式  
  460.   
  461. $("tr:contains('王五')").addClass("highlightTr"); //查找包含“王五”的行,添加highlightTr样式  
  462.   
  463. $("tr").click(function(){  
  464.     $(this).addClass("selectedTr"//给当前行添加选中样式  
  465.            .siblings().removeClass("selectedTr"//反选移除选中样式  
  466.            .end() //结束,返回$(this),否则则是反选的行  
  467.            .find(':radio").attr("checked",true); //在当前行查找单选框,选中它  
  468. });  
  469.   
  470.   
  471. //-------------------- 第六章 JQuery与Ajax的应用 ------------------------  
  472.   
  473. ·load( url [,data] [,callback] )方法  
  474. url:要请求的页面的地址  
  475. data:要发送的相关参数  
  476. callback:回调函数  
  477.   
  478. $("#myDiv").load("hello.html"); //向myDiv元素加载hello.html的内容  
  479. $("#myDiv").load("hello.html .myClass"); //筛选,只加载hello.html中myClass样式的内容  
  480.   
  481. $("#myDiv").load("hello.html"function(){} ); //没参数的,使用GET方式  
  482. $("#myDiv").load("hello.html", {id:'123', name:'dier'}, function(){} ); //有参数的,使用POST方式  
  483.   
  484. $("#myDiv").load("hello.html"function(responseText, textStatus, XMLHttpRequest){ //回调函数  
  485.     //responseText : 请求返回的内容  
  486.     //textStatus : 请求状态 success error notmodified timeout  
  487.     //XMLHttpRequest : Ajax对象  
  488. });  
  489.   
  490. ·$.get( url [,data] [,callback] [,type])和$.post( url [,data] [,callback] [,type])方法  
  491. url:要请求的页面的地址  
  492. data:要发送的相关参数  
  493. callback:回调函数  
  494. type:指定服务器返回内容的格式 xml html script json text _default  
  495.   
  496. $.get( "test.aspx", {id:"123", name:"dier"}, function(data,textStatus){ //回调函数只有当状态是success才触发  
  497.     //data : 请求返回的内容  
  498.     //textStatus : 请求状态 success error notmodified timeout  
  499.       
  500.     //当data是HTML时,直接加载  
  501.     $("#myDiv").html(data);  
  502.       
  503.     //当data是XML时,可筛选 <user id="123" name="dier" age="27" />  
  504.     var age = $(data).find("user").attr("age");  
  505.       
  506.     //当data是JSON时,可直接点出属性来 {id:"123", name:"dier", age:"27"}  
  507.     var age = data.age;  
  508. });  
  509.   
  510. ·getScript(url [,callback])方法  
  511. $(function(){ //动态加载JS脚本  
  512.     $.getScript("test.js");  
  513.       
  514.     $.getScript("test.js"function(){ //回调函数  
  515.         //do something..  
  516.     });  
  517. });  
  518.   
  519. ·getJSON(url [,callback])方法  
  520. $(function(){ //动态加载JS脚本  
  521.     $.getJSON("test.js");  
  522.       
  523.     $.getJSON("test.js"function(data){ //回调函数  
  524.         //do something..  
  525.         //data : 返回的数据  
  526.         $.each( data, function(index, item){ //遍历,相当于foreach  
  527.             //index : 索引  
  528.             //item : 当前项内容  
  529.             //return false; 退出循环  
  530.         });  
  531.     });  
  532. });  
  533.   
  534. ·ajax(options)方法  
  535. url : 请求的地址  
  536. type : 请求的方式 GET POST 默认为GET  
  537. timeout : 请求超时时间(单位:毫秒)  
  538. data : 请求时发送的参数(String,Object)  
  539. dataType : 预期返回的数据类型 xml html script json jsonp text  
  540. bdforeSend : 发送请求前触发事件,如果return false则取消发送 function(XmlHttpRequest){}  
  541. complete : 请求完成后触发事件,不管成功与否 function(XmlHttpRequest, textStatus){}  
  542. success : 请求完成并且成功时触发事件 function(data, textStatus){}  
  543. error : 请求完成并且失败时触发事件 function(XmlHttpRequest, textStatus, errorThrown){}  
  544. global : 是否为全局请求,默认为true,可使用AjaxStart、AjaxStop控制各种事件  
  545.   
  546. $.ajax({  
  547.     url : "test.aspx",  
  548.     type : "POST",  
  549.     timeout : "3000",  
  550.     data : {id:"123", name:"dier"},  
  551.     dataType : "HTML",  
  552.     success : function(data,textStatus){  
  553.         $("#myDiv").html( data );  
  554.     }  
  555.     error : function(XmlHttpRequest, textStatus, errThrown){  
  556.         $("#myDiv").html( "请求失败:" + errThrown );  
  557.     }  
  558. });  
  559.   
  560. ·序列化字符串 serialize()  
  561. $.get( "test.aspx", $("#form1").serialize(), function(data,textStatus){  
  562.     //将form1整个表单中的所有域序列化成提交的参数,支持自动编码  
  563. });  
  564.   
  565. ·序列化数组 serializeArray()  
  566. var arr = $(":checkbox, :radio").serializeArray();  
  567.   
  568. ·对象序列化 param()  
  569. var obj = {id:"123", name:"dier", age:"27"};  
  570. var kv = $.param(obj); //id=123&name=dier&age=27  
  571.   
  572. ·JQuery中的全局Ajax事件  
  573. ajaxStart(callback) //请求开始时触发  
  574. ajaxStop(callback) //请求结束时触发  
  575. ajaxComplete(callback) //请求完成时触发  
  576. ajaxSuccess(callback) //请求成功时触发  
  577. ajaxError(callback) //请求失败时触发  
  578. ajaxSend(callback) //请求发送前触发  
  579.   
  580. $("#loading").ajaxStart(function(){ //当有AJAX请求时显示,完成时隐藏  
  581.         $(this).show();  
  582.     }.ajaxStop(function(){  
  583.         $(this).hide();  
  584.     }  
  585. );  
  586.   
  587. //第七章是插件的使用及编写 第八章则是一个实例 此处忽略
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
jquery选择之后改变结果集
jQuery 基本选择器
jQuery选择器——基本选择器总结
35个Jquery应用实例
jQuery设计思想
jQuery2021.3.9日【懵逼了啥也不是】【emmet语法】
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服