jquery复习
<?php
/*
jquery复习:
通常开发人员习惯把id,src,alt叫做这个元素的属性,我们称之为"元素属性",但是在解析成DOM对象的时候,实际浏览器最后会将标签元素解析为"DOM对象",并且将元素的"元素属性"存储为"DOM属性",两者是有区别的.
<script>
var cao=null;
setTimeout(function(){
handleClick=function(){
alert("草你妈");
}
},10000)
</script>
javascript制定事件处理程序的传统方式,就是将一个函数值赋给一个事件处理程序属性.这种方法至今仍然为现代浏览器所支持.一是因为简单,二是因为挂浏览器.每个元素(window)和docuemnt都有自己的事件处理程序,因为这些属性全部小写.
可以在事件处理过过程中通过访问this访问元素的任何属性和方法,以这种方式添加的事件处理程序都在事件流的冒泡阶段被处理.
当然只要像下面这样将事件处理程序属性设置为null,即可删除通过DOMO级方法指定的时间处理程序:
bn3.onclick=null;
我们设置了元素的src是相对路径:images/image.1..jpg
jquery.each(obj,callback)
通用遍历方法,可用于遍历对象和数组
不同于遍历jquery对象的$().each()方法,此方法可用于遍历任何对象.
回调函数拥有两个参数:第一个对象的成员或数组的索引,第二个为对应变量或内容.
----------------------------------------------------------------------------------------------------------------------------------------------------------
通过ajax原理来实现
1.$.ajax()传递
jquery.ajax(options)
通过HTTP请求加载远程数据.
jquery底层AJAX实现.简单容易用的高层见$.get/$.post等.
$.ajax()返回其创建的XMLHttpRequest对象.大多数情况下你无需直接操作该对象.但特殊情况下可用于手动终止请求.
$.ajax()只有一个参数:参数key/value对象,包含各配置以及回调函数.
----------------------------------------------------------------------------------------------------------------------------------------------------------
jquery提供了几个用于发送ajax请求的函数,其中最核心也是最复杂的是jquery.ajax(options),所有其他的ajax函数都是它的一个简化调用.当我们完全控制ajax的时候可以使用此结果.否则还是使用简化方法如get,post,load等更加方便,所以jquery.ajax(options)方法放到最后一个介绍.
load(url,[data],[callback])
说明:
load方法能够载入远程的HMTL文件代码并插入DOM中
默认使用get方法,如果传递了data参数,则使用post方法
-传递附加参数自动转为post方式,jquery1.2中,可以指定选择符,来筛选载入的HTML文档,DOM中将仅插入筛选出的HTML代码.语法如"url#some >selector",默认的选择器是"body">*
讲解:
load是最简单的ajax函数,但是使用具有局限性:
a.主要用于直接返回HTML的ajax接口
b.load是一个jquery包装集的方法,需要jquery包装集上调用,并且会返回的HTML加载到对象中,即使是设置了回调函数也还是会加载.不过不可否认load接口设计巧妙并且使用简单.
jquery.get(url,[data],[callback],[type])
returns:XMLHttpRequest
说明:
通过远程HTTP GET请求载入信息
这是一个简单的GET请求功能取代复杂的$.ajax.请求成功的时候可调用回调函数.如果需要在出错的时候执行函数,请使用$.ajax.
次函数发送Get请求,参数可以直接在url中拼接.比如
$.get("../data/ajaxGetmethod.aspx");
或者是在
$.get("../data/1.php",{"name":"sinhapo"});
两种方式效果相同,data参数会自动的添加到url中
如果url中的某个参数,又通过data传递参数,不会自动合并相同名称的参数.
回调参数的签名为:
function (data,textStatus){
//data could be xmlDoc,jsonObj,html,text,etc....
this;//the option for this ajax request
}
其中data是返回的数据,testStatus表示状态码,可能是如下值
'timeout','error','notmodified','success','parsererror'
在回调函数中的this是获取options对象的引用
type参数是指的是data的数据的类型:
'xml','html','script','json','jsonp','text'
默认为"html"
jquery.getJSON(url,[data],[callback])方法就相当于jquery.get(url,[data],[callback],"json")
jquery.get(url,[data],[callback],[type])
Returns:XMLHttpRequest
通过远程HTTP GET请求载入信息
一个简单的GET请求以取代复杂的$.ajax,请求成功的时候可调用回调函数,如果需要在出错的时候执行函数,请使用$.ajax.
jquery.getJSON(url,[data],[callback])
Returns:XMLHttpRequest
相当于:jquery.get(url,[data],[callback],"json")
$.getJSON("../data/AjaxGetCityInfo.asp",{"resultType":"json"})
function(data,textStatus){
alert(data.length);
alert(data[0].CityName);
}
使用data.length可以获取数组的元素个数,data[0]访问第一个元素,data[0].CityName访问第一个元素的CityName属性
jquery.getScript(url,[callback])
Returns:XMLHttpRequest
相当于:jQuery.get(url,null,[callback],"script")
说明:
通过HTTP GET请求载入并执行一个Javascript文件.
jQuery1.2版本之前,getScript只能调用同域JS文件.
jquery.post(url,[data],[callback],[type])
Returns :XMLHttpRequest
说明:
通过远程HTTP POST要求载入信息
这是一个简单的POST请求功能以取代复杂的$.ajax.请求成功的时候可调用回调函数.如果需要在出错的时候执行执行函数,请使用$.ajax.
讲解:
具体用法和get相同,只是提交方式由"GET"更改为"POST"
jquery.ajax(options)
returns:XMLHttpRequset
说明:
通过HTTP请求加载远程数据
jquery底层ajax实现,简单易用的高层见$.get,$.post等.
$.ajax()返回其创建的XMLHttpRequest对象,大部分情况下你无需直接操作该对象,但是特殊情况下可用于手动终止请求.
$.ajax()只有一个参数:参数key/value对象,包含各个配置以及回调函数信息.详细选项见下
如果你指定了dataType选项,请确保服务器返回正确的MIME信息,(如xml返回"text/html")错误的MIME类型可能导致不可预知的错误.
如果dataType设置为script,那么所有的远程(不在同一域名下)的POST请求都将化为GET请求(因为使用DOM的SCRIPT来加载).jquery1.2中,您可以跨域加载JSON数据,使用的时候将数据设置为JSONP.使用JSONP形式调用函数时,如"myurl?callback=?"jQuery将自动替换?为正确的函数名,以执行回调函数.数据类型设置为JSONP,jquery会自动调用回调函数.
Ajax相关函数.
1.jquery提供了一些函数来辅助ajax函数
无返回值
设置:全局的ajax默认options选项.