JQuery 入门
1、用jQuery,和Dom的效果是一样的,用jQuery实现跟Dom的效果一样。尺寸小,Write Less Do More
链式编程(一直点),隐式迭代(对所有的迭代都是一样的,自动的帮你迭代,你连foreach都不用写),屏蔽的浏览器的差异,插件丰富。开源,免费。
JavaScript每个控件的操作方式不统一,不同浏览器有区别,跨浏览器非常麻烦,Prototype,Dojo,ExtJs等封装库,jquery最好。
2、$("#div").dialog();立即产生对话框了
$("#playlist input[type=checked]").each(function(item)<item.checked(!item.checked())>)
取id为playlist的下面的input 哪些input,,是type=checkbox的控件,对于每一个的处理时让他的checked=checked反,在jquery中大量使用匿名函数的风格。
3、无论是调用jquery还是。。无法代替javaSript,Jquery是最火的JavaScript库,Ajax和jquery结合非常方便,而且扩展插件非常多。比如在页面上拖着一个控件走则
$("#div1").draggble();
$("#div1").draggble().show().hide().fly();
5、ready函数
$(document)//首先将一个Dom转换为一个jquery对象
$(document).ready(function()){ alert("提示");}//然后调用ready函数(是一个注册时间的函数,和普通的dom不一样,不需要再元素上标记on**这样的事件,以匿名函数的方式)
function()){ alert("提示");}是个匿名函数 所以尽量使用匿名函数的方式,防止跟Dom命名冲突
------------------------------------------------------------------------------------
window.onload=function(){alert("onload1");};//用Dom的onload写,只能注册一次
window.onload=function(){alert("onload2");};//这样写只显示第二个,第一个作废因为js中没有+=这样的组合。这说明Dom中一边写还要看别人是不是注册了。jquery没有这个毛病
6、jquery的ready和Dom的onload区别:onload是所有Dom元素创建完毕、图片、css等都加载完毕后才被触发,而ready则是Dom元素创建完毕就被触发,这样可以提高网页的响应速度,在jquery中也可以用$(window).load()来实现onload那种事件调用的时机。这五张图片加载完了才有特效跟这五张图片还没加载完就有特效。
onload只能注册一次,加载完才显示效果
ready可以注册多次,加载中可以显示效果
7、$(function(){alert("ready3");})//这是ready的简写,这个匿名函数触了
$其实就是个名字很怪的函数。调用$这个函数,将这个匿名函数function注册为ready
8、JQuery提供的内置函数
$.map(array,fn)对数组arry中每个元素调用fn函数逐个进行处理,fn函数将处理返回,最后得到一个新数组,例子:得到一个元素值是原数组值两倍的新数组
var arr={3,5,9};
var arr2=$.map(arr,function(item){return item*2;});//function(item)是当前处理的函数
alert(arr2);//返回一个新的数组
类似于委托,交给函数处理,怎么处理不管。
$.map不能处理Dictionary风格的数组,下面就是dic风格,最好用each方法
9、$.each(arry,fn)对每个元素调用fn函数进行处理,没有返回值
var dict={"tome":20,"jerry":50,"jim":30};
$.each(dict.funcion(key,value){alert(key+"年龄是"+value);})//主要方法
---------------也可以用普通的数组
var arr={3,5,8};
$.each(arr,functionn(key,value){alert(key+"="+value);})//key就成了它的序号,value就是数组的值
---------$.each(arr,function(){alert(this);})能读懂这种写法