本篇博文为codeschool课程Jquery——Try Jquery的笔记。
code school对于入门选手是非常棒的选择。笔记较为零散,只是入门的一些杂碎知识点而已。
jQuery是javascript关于dom操作的一个牛皮的类库。jq关于dom的操作给我的感觉就像夹娃娃机,作为一个活了二十多年也没夹上来过娃娃的人,我十分的兴奋~
- 首先,dom操作的进行要确保dom们都已经排排坐准备好,于是我们要加一个函数套在外面,顾名思义就是ready的意思:jquery(document).ready(function(){})。
- 查找非常方便:$('css选择器的语法')。
- 找到之后咱们来干点什么呢?下面整理基本的“append to dom”方法们。
- .after(). prepend(). append(). remove()
- .prependTo() .appendTo() .insertAfter() .insertBefore()
- 这对基友的区别也是顾名思义,主动被动的关系~
- 下面一个重要的东西来了——on方法。(acting on interaction)
- 语法:$('找东西').on('click' , 'button' , function(){})
- 第一个单引号里是事件,具体mouse事件有
- 关于click事件,我们发现,在a标签里的click事件会造成页面跳回首部的现象。这是因为a标签这时是作为锚事件出现的。之前的处理方法是在href=“javascript: void(0)”。jq提供了event事件来解决它。我们需要传入event参数,然后:1.event.stopPropagation()handle而不bubble up。2.event.preventDefault() bubble up而不handle。这个概念没有理清,马克
- 除了mouse事件还有keyboard事件和form事件
- 第二个单引号是选填的,同样遵循css选择器的语法,也就是说这个东西也可以填在前面的$(‘ ’)里。但是放在后面性能更好。
- 然后就是函数啦~
- 关于函数,jquery提倡一种方法:var 变量名 = function(){}。这种方式较之直接定义函数的区别在于,我们只要一次query dom,多次reuse jq object。
- 然后便可以在on()里面调用这个变量,调用时不需要加(),因为加了括号意味着立刻调用。
- alert(变量名)会打印出函数体哦~
- 请注意refactor
- data-名字 属性:写在html里,可以和.closest()方法组合使用。具体有两种使用方式:.data(名字)返回数据,.data(名字,值)写入数据。这货用在多个同类div但每个拥有不同值时非常有用。比如:三个预定酒店的栏目,结构样式完全相同,总是什么都相同,只是每个价格不同,这时我们可以在大div里写入data-price=100,200,300。这样使用.data(price)便可以读出具体的价格。
- taming css(是codeschool的标题,我喜欢)
- addClass removeClass toggleClass hasClass 不必说了
- .css('attr','value')
- .animate({css对象},‘毫秒数’)
- AJAX!(终于可以用上代码了!!!!!我好兴奋啊!!!!!!!!)
-
$.ajax('url',{<br><br />data:{div里data-x的东西},<br />success : function(response){ .....html(response)..... },<br />error : function( request, errorType, errorMessage){alert('Error: ' + errorType + ' with message: ' + errorMessage);},<br />timeout : 3000, <br />beforeSend: function(){也许可以放一朵菊花},<br />complete: function(){也许可以把菊花移除}});
- $.get('url?para=hehe',function(){ }) 是楼上的简略版
- 重构优化的方法。var 对象 = {函数1:function(){调用this.函数2,调用this.函数3},函数2:f(){},函数3:f(){}} 注意逗号啊括号啊什么的
-