1. Jquery 中,$(document).ready()
是什么意思?和window.onload
的区别? 还有其他什么写法或者替代方法?
-
$(document).ready()
是指在DOM结构完全加载时即可运行脚本,而window.onload
旨在元素完全加载之后才能运行脚本程序(如要获取图片宽高需要在图片加载完成之后才能实现) - 以下两种写法是等价的:
$(document).ready(handler)
$(handler)
2. $node.html()
和$node.text()
的区别?
-
$node.html()
用于获取/修改元素的innerHTML
- 当没有传递参数的时候,用于获取元素的innerHTML
- 当传入字符串参数时,用于修改元素的innerHTML
- 同样,
$node.text()
用于获取/修改元素的innerText - 当没有传递参数的时候,用于获取元素的innerHTML
- 当传入字符串参数时,用于修改元素的innerHTML
3. $.extend 的作用和用法?
jQuery.extend([deep,] target [, object1 ] [, objectN ] )
- 当我们提供两个或多个对象给
$.extend()
,会将对象的所有属性都添加给目标对象(target参数); - 如果只有一个对象提供给
$.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 的链式调用是什么?
当使用JQuery后的返回值还能继续使用JQuery方法,这样就形成一种链式调用。
5. JQuery ajax 中缓存怎样控制?
- 通过传入参数对象中的
cache
属性控制ajax缓存; -
cache
属性默认值为true,即默认缓存数据; - 当需要获取实时信息是(如天气预报),可将
cache
属性设置为false,这样ajax就不会缓存数据。
6. jquery 中 data 函数的作用?
-
$.data()
方法可以在DOM节点上存储数据,$.removeData()
方法用于移除DOM节点上存储的数据。
$('.wrap').data('test',{key:'value'}) // 存储数据
$('.wrap').data('test').key // 读取数据
// "value"