1.Jquery 中, $(document).ready()是什么意思?和window.onload 的区别? 还有其他什么写法或者替代方法?
window.onload 是要等待到整个网页都加载好了再执行JS
$(document).ready()则是等待到整个网页的DOM节点加载好后就执行JS,不需要等待图片等加载。
2.$node.html()和$node.text()的区别?
$node.html():是输出$node的整个html结构包括里面的内容
$node.text():仅输出节点的内容,不输出结构
3.$.extend 的作用和用法?
将两个或更多对象的内容合并到第一个对象。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery.extend demo</title>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<div id="log"></div>
<script>
var object1 = {
apple: 0,
banana: { weight: 52, price: 100 },
cherry: 97
};
var object2 = {
banana: { price: 200 },
durian: 100
};
// Merge object2 into object1
$.extend( object1, object2 );
// Assuming JSON.stringify - not available in IE<8
$( "#log" ).append( JSON.stringify( object1 ) );//{"apple":0,"banana":{"price":200},"cherry":97,"durian":100}
// Merge object2 into object1, recursively
$.extend( true, object1, object2 );
// Assuming JSON.stringify - not available in IE<8
$( "#log" ).append( JSON.stringify( object1 ) );//{"apple":0,"banana":{"weight":52,"price":200},"cherry":97,"durian":100}
</script>
</body>
</html>
4.JQuery 的链式调用是什么?
当jQuery的方法的返回值仍为当前对象时可以继续调用该对象的方法就叫做链式调用。
$(ele).parents().find().addClass().hide();
5.JQuery ajax 中缓存怎样控制?
cache (默认: true, dataType为"script"和"jsonp"时默认为false)
类型: [Boolean]
如果设置为 false ,浏览器将不缓存此页面。注意: 设置cache
为 false将在 HEAD和GET请求中正常工作。它的工作原理是在GET请求参数中附加"_={timestamp}"(时间戳)。该参数不是其他请求所必须的,除了在IE8中,当一个POST请求一个已经用GET请求过的URL。
6.jquery 中 data 函数的作用
.data()方法允许我们在DOM元素上绑定任意类型的数据,避免了循环引用的内存泄漏风险。
我们可以在一个元素上设置不同的值,之后获取这些值:
$("body").data("foo", 52);
$("body").data("bar", { myType: "test", count: 40 });
$("body").data({ baz: [ 1, 2, 3 ] });
$("body").data("foo"); // 52
$("body").data(); // { foo: 52, bar: { myType: "test", count: 40 }, baz: [ 1, 2, 3 ] }