jquery

2017-01-10  本文已影响4人  花落o

1. jQuery Ajax -serialize():序列化表单  把name和value 序列成 a=1&b=2&c=3;


2.jQuery defferred 对象: <1.5.0的 $.ajax()返回的是XHR对象  ;  >1.5.0的返回的是 defferred对象,可以进行链式操作

  链式操作:

$.ajax("test.html")

.done(function(){ alert("哈哈,成功了!");} )

.fail(function(){ alert("出错啦!"); } )

.done(function(){ alert("第二个回调函数!");} );

1.同一个操作执行多个回调函数。

2.为多个操作指定一个回调函数

  $.when($.ajax("test1.html"), $.ajax("test2.html"))

.done(function(){ alert("哈哈,成功了!"); })

.fail(function(){ alert("出错啦!"); });

3.任何一个操作都可以使用 defferred的任何方法。

$.when()


3.选择器:

$(' label + input '): 紧跟在label后面的input ;

$(' form~input '): 与form同级的input;

$(' input:not(:checked) '):未选中的input;

$('tr:even ') :表格奇数行 ; $(' tr:odd ')

$('tr:gt(0)'): 索引值大于0的行;  $(' tr:lt(2) ')

$(':header'),选中所有的标题;

$(':animated):正在执行动画效果的元素;

$('div:contains(' john ') '): 内容包含john的div;

:empty :focus :has() :parent  :hidden  :visible 

$(input[atturibute=value])

:input  :text  :password :radio  :checkout  :submit  :imgage  :reset  :button :file  :enabled  :disabled  :checked  :selected 


4.ajax缓存

ajax在发送的数据成功后,会把请求的ul和数据缓存,当下一次ajax发送相同的请求是,它会直接从缓存中把数据取出来,这是为了提高页面的响应速度和用户体验,不足:当通过ajax对后台做一些更改的时候,虽然后台数据已经变化,但是页面缓存并没改变,对于相同的URL,Ajax提交过去以后,浏览器还只是简单的从缓存中拿数据。

ajax禁止缓存的方案:.url里加随机数,时间戳; ur=‘check.js?num=’+Match.random(); url=check.js?date=’+'&'+new Date().getTime()          jq 1.5.2版本 以后自动给 url 加时间戳

jquery中提供一个防止ajax缓存的方法   cache:false


上一篇下一篇

猜你喜欢

热点阅读