一,.each( function(index, Element) )
遍歷一個jQuery對象,為每個匹配元素執(zhí)行一個函數(shù)
$( "li" ).each(function( index ) {
console.log( index + ": "" + $(this).text() );
});
二兔毒,jQuery.each( collection, callback(indexInArray, valueOfElement) )
jQuery靜態(tài)循環(huán)方法
一個通用的迭代函數(shù)咖楣,它可以用來無縫迭代對象和數(shù)組。數(shù)組和類似數(shù)組的對象通過一個長度屬性(如一個函數(shù)的參數(shù)對象)來迭代數(shù)字索引处渣,從0到length - 1伶贰。其他對象通過其屬性名進行迭代。
var obj = {
"flammable": "inflammable",
"duh": "no duh"
};
$.each( obj, function( key, value ) {
alert( key + ": " + value );
});
三霍比,jQuery.extend([deep,] target [, object1 ] [, objectN ] )
1幕袱,
var obj1={};
var obj2={
name:"liu",
age:18
};
$.extend(obj1,obj2);
相當于把obj2拷貝到obj1上
2
var obj1={};
var obj2={
name:"liu",
age:18
};
var obj3={
name:"vally",
sex:"man"
};
$.extend(obj1,obj2,obj3);
把obj2拷貝到obj1上,再把obj3拷貝到obj1上悠瞬,有相同屬性key,覆蓋们豌,沒有就添加
實際使用場景:
用戶輸入姓名和年齡,如果用戶沒有輸入年齡浅妆,就會使用我們設(shè)置的默認年齡
代碼
3望迎,返回值為,復(fù)制覆蓋的一個新對象
function getnews(obj){
var sp_obj={
name:"游客",
age:"不詳"
};
// var relobj={};
//$.extend(relobj,sp_obj,obj);
var relobj=$.extend({},sp_obj,obj);
console.log(relobj);
}
4凌外,
設(shè)置為true辩尊,表示深拷貝
注:
淺拷貝表示拷貝棧里面的內(nèi)容,或則堆里面的第一層內(nèi)容
深拷貝表示拷貝里面的全部內(nèi)容
5康辑,
每一個jQuery選擇器上面都有指定對象的屬性
四摄欲,克陆瘟痢(DOM節(jié)點(所有包括綁定的事件))
.clone( [withDataAndEvents ] )
五,.index() / .index(selector)/ .index(element)
在事件綁定胸墙,事件代理的時候我注,獲取當前被單擊的元素的下標
六,
小知識點:
為什么js文件和js代碼要放到html文件的body里面的后面
因為迟隅,1但骨,js文件的下載會阻止其他文件的下載解析,并且下載完成就執(zhí)行智袭。2奔缠,js操作dom所以js要在dom加載完成 才應(yīng)該執(zhí)行
我們怎么保證js的執(zhí)行在dom解析完成再執(zhí)行呢?
在把js代碼包裹一層:
window.onload=function(){
js代碼吼野。校哎。。
}
window.onload是要在所以文件(html ,css,圖片全部加載完成)再執(zhí)行js代碼箫锤,如果圖片很多贬蛙,那么,js的執(zhí)行會延遲很久谚攒, 這樣會影響頁面效果的呈現(xiàn)
那么在jQuery里面是怎么解決的呢阳准?
//所有的文檔都加載完成后,再去執(zhí)行js代碼
//方法一:
$(document).ready(function(){
js代碼馏臭。野蝇。。
})
//方法二:
$(function(){
js代碼括儒。绕沈。。
})
這種方法要注意:里面的變量就不是window的全局變量了帮寻,直接在控制臺是無法訪問到function匿名函數(shù)里面的變量
jquery中文文檔