$.noConflict() 使用 noConflict() 方法为 jQuery 变量规定新的名称,防止冲突
var jq=$.noConflict();
jq('#div').....
$. each() 遍历操作 不仅能遍历数据还能遍历json
var arr=['sun','leo','lee'];
$.each(arr,function(i,val){
console.log(i); // 0 1 2
console.log(val); //'sun','leo','lee'
})
var json={name:'sun',age:22}
$.each(json,function(key,val){
console.log(key); //name age
console.log(val); //sun 22
})
$.Callbacks()多用回调列表对象提供了一种强大的方法来管理回调函数
function a(){
alert(1);
return false;
}
function b(){
alert(2);
}
function c(){
alert(3);
}
var cb=$.Callbacks();
cb.add(a);
cb.add(b);
cb.fire(); //1 2
var cb=$.Callbacks();
cb.add(a);
cb.add(b);
cb.fire();
cb.add(c); //1 2
var cb=$.Callbacks();
cb.add(a);
cb.add(b);
cb.fire();
cb.add(c);
cb.fire(); // 1 2 1 2 3
var cb=$.Callbacks('once');
cb.add(a);
cb.add(b);
cb.fire();
cb.add(c);
cb.fire(); // 1 2
var cb=$.Callbacks('memory');
cb.add(a);
cb.add(b);
cb.fire();
cb.add(c); // 1 2 3
var cb=$.Callbacks('unique');
cb.add(a);
cb.add(a);
cb.fire(); // 1
var cb=$.Callbacks('stopOnFalse');
cb.add(a);
cb.add(b);
cb.add(c);
cb.fire(); // 1
var cb=$.Callbacks();
(function(){
function a(){
alert(1);
}
cb.add(a);
cb.add(b);
})()
function b(){
alert(2);
}
cb.fire(); //1 2
setTimeout(function(){
alert(1);
},1000);
alert(2); // 2 1
// 因为setTimeoutshi异步,所以先执行alert(2),再执行alert(1),那如果想要先执行 alert(1),再执行alert(2)的话,就可用如下方法解决
var cb=$.Callbacks();
setTimeout(function(){
alert(1);
cb.fire();
},1000);
cb.add(a);
function a(){
alert(2); //1 2
}
$.Deferred() JQ中的延迟对象
var dfd=$.Deferred();
setTimeout(function(){
alert(1);
// dfd.resolve();
dfd.reject();
},1000)
// dfd.done(a);
// function a(){
// alert(2);
// }
dfd.fail(a);
function a(){ //1 2
alert(2);
}
第一种ajax请求
$.ajax({
url:'xxx.php',
success:function(){},
error:function(){}
});
第二种ajax请求
$.ajax('xxx.php').done(function(){}).fail(function(){});
$.ajax('xxx.php').then(function(){},function(){});
$.when($.ajax('xxx.php'),$.ajax('yyy.php')).done(function(){}).fail(function(){});
$.ajax()通过 HTTP 请求加载远程数据。最底层的方法
$.ajax({
url:"xxx.php", //请求服务器端的一个文件名
type:"POST", //设置发送数据的方式,默认是get方式
data:'name=leo&age=20', //或者{name:"leo",age:20} 发送给服务器端的数据
dataType:'json', //设置返回的数据类型 如果不设置,返回的json的数据需要$.parseJSON()解析
success:function(data){}, //请求成功后的回调函数
error:function(err){}, //请求失败后的回调函数
async:false //true表示异步请求,false表示同步请求
})
$.get() 通过get方法向 HTTP 请求加载远程数据
$.get("xxx.php",'name=leo',function(){},'json').error(function(){});
$.post() 通过post方法向 HTTP 请求加载远程数据
$.post("xxx.php",'name=leo',function(){},'json').error(function(){});
$.getScript()通过 HTTP GET 请求载入并执行 JavaScript 文件。
$.getScript('xxx.js',function(){}).error(function(){})
$.getJSON()通过 HTTP GET 请求载入并执行 json文件。
$.getJSON('xxx.json',function(){}).error(function(){})