1. Jquery 中,$(document).ready()
是什么意思?和window.onload
的區(qū)別? 還有其他什么寫法或者替代方法关带?
-
$(document).ready()
是指在DOM結(jié)構(gòu)完全加載時即可運行腳本细溅,而window.onload
旨在元素完全加載之后才能運行腳本程序(如要獲取圖片寬高需要在圖片加載完成之后才能實現(xiàn)) - 以下兩種寫法是等價的:
$(document).ready(handler)
$(handler)
2. $node.html()
和$node.text()
的區(qū)別?
-
$node.html()
用于獲取/修改元素的innerHTML
- 當沒有傳遞參數(shù)的時候褥傍,用于獲取元素的innerHTML
- 當傳入字符串參數(shù)時,用于修改元素的innerHTML
- 同樣喇聊,
$node.text()
用于獲取/修改元素的innerText - 當沒有傳遞參數(shù)的時候恍风,用于獲取元素的innerHTML
- 當傳入字符串參數(shù)時,用于修改元素的innerHTML
3. $.extend 的作用和用法?
jQuery.extend([deep,] target [, object1 ] [, objectN ] )
- 當我們提供兩個或多個對象給
$.extend()
誓篱,會將對象的所有屬性都添加給目標對象(target參數(shù))朋贬; - 如果只有一個對象提供給
$.extend()
,意味著目標對象被省略窜骄,在這種情況下锦募,jQuery對象本身被默認為目標對象,這樣就可以在jQuery的命名空間下添加新的功能
var object1 = {
apple: 0,
banana: { weight: 52, price: 100 },
cherry: 97
};
var object2 = {
banana: { price: 200 },
durian: 100
};
$.extend(object1,object2)
// Object { apple: 0, banana:{price:200},cherry: 97, durian: 100}
4. JQuery 的鏈式調(diào)用是什么邻遏?
當使用JQuery后的返回值還能繼續(xù)使用JQuery方法糠亩,這樣就形成一種鏈式調(diào)用。
5. JQuery ajax 中緩存怎樣控制?
- 通過傳入?yún)?shù)對象中的
cache
屬性控制ajax緩存准验; -
cache
屬性默認值為true赎线,即默認緩存數(shù)據(jù); - 當需要獲取實時信息是(如天氣預(yù)報)糊饱,可將
cache
屬性設(shè)置為false垂寥,這樣ajax就不會緩存數(shù)據(jù)。
6. jquery 中 data 函數(shù)的作用另锋?
-
$.data()
方法可以在DOM節(jié)點上存儲數(shù)據(jù)滞项,$.removeData()
方法用于移除DOM節(jié)點上存儲的數(shù)據(jù)。
$('.wrap').data('test',{key:'value'}) // 存儲數(shù)據(jù)
$('.wrap').data('test').key // 讀取數(shù)據(jù)
// "value"