13.jQuery.get()和jQuery.ajax()方法之间的区别是什么?
答:ajax()方法更强大,更具可配置性,让你可以指定等待多久,以及如何处理错误。
get()方法是一个只获取一些数据的专门化方法。
14.jQuery中$.get()提交和$.post()提交有区别吗?
答:相同点:都是异步请求的方式来获取服务端的数据;
不同点:(1)请求方式不同:$.get()方法使用get方法来进行异步请求的。
$.post()方法使用post方法来进行异步请求的。
(2)参数传递方式不同:get请求会将参数跟在URL后进行传递,而post请求则是作为HTTP消息的实体内容 发送给Web服务器的,这种传递是对用户不可见的。
(3)数据传输大小不同:get方式传输的数据大小不能超过2KB,而post要大的多。
(4)安全问题:get方式请求的数据会被浏览器缓存起来,因此有安全问题。
15.jQuery中get()和eq()有什么区别?
答:get返回的是一个DOM对象,是获取的元素数组。
eq返回的是一个jquery对象,返回的是jQuery对象,就可以继续调用其他方法,返回的是元素数组就不能调用。
16.jQuery的属性拷贝(extend)的实现原理是什么,如何实现深拷贝?
答:浅拷贝(只复制一份原始对象的引用)
var newObject = $.extend({}, oldObject);
深拷贝(对原始对象属性所引用的对象进行进行递归拷贝)
var newObject = $.extend(true, {}, oldObject);
17.使用CDN加载jQuery库的主要优势是什么?
答:除了报错节省服务器带宽以及更快的下载速度这许多的好处之外,最重要的是,如果浏览器已经从同一个CDN下载类相同的 jQuery 版本,那么它就不会再去下载它一次。因此今时今日,许多公共的网站都将jQuery用于用户交互和动画,如果浏览器已经有了下载好的jQuery库,网站就能有非常好的展示机会。
18.jQuery中的Delegate()函数有什么作用?
答:delegate()会在以下两个情况下使用到:
(1)给父元素下的子元素添加事件,代码如下:
$("ul").delegate("li", "click", function(){
$(this).hide();
});
(2)当元素在当前页面中不可用时,可以使用delegate()。
19.怎样用jQuery编码和解码URL?
答:在jQuery中,我们可以使用以下方法实现URL的编码和解码。
encodeURIComponent(url) and decodeURIComponent(url)
20.JQuery有几种选择器?
答:(1)基本选择器:#id,class,element,*
(2)层次选择器:parent > child,prev + next ,prev ~ siblings
(3)基本过滤器选择器::first,:last ,:not ,:even ,:odd ,:eq ,:gt ,:lt
(4)内容过滤器选择器: :contains ,:empty ,:has ,:parent
(5)可见性过滤器选择器::hidden ,:visible
(6)属性过滤器选择器:[attribute] ,[attribute=value] ,[attribute!=value] ,[attribute^=value] ,[attribute$=value] , [attribute*=value]
(7)子元素过滤器选择器::nth-child ,:first-child ,:last-child ,:only-child
(8)表单选择器: :input ,:text ,:password ,:radio ,:checkbox ,:submit 等
(9)表单过滤器选择器::enabled ,:disabled ,:checked ,:selected
21.jQuery中使用过哪些插入节点的方法
答:(1)append:向每个匹配的元素内部追加内容。
(2)appendTo:将所有匹配的元素追加到指定的元素中。
(3)after:在每个匹配元素之后插入内容。
(4)insertAfter:将所有配的元素插入到指定元素的后面。
(5)before:在每个匹配的元素之前插入内容。
(6)insertBefore:将所有匹配的元素插入到指定的元素的前面。
22.为什么使用jQuery,它有哪些好处?
答:(1)轻量级、代码简洁
(2)强大的选择器,出色的DOM操作封装
(3)有可靠的事件处理机制
(4)浏览器兼容性好
(5)支持链式操作
(6)支持丰富的插件
23.针对 jQuery 的优化方法
答:(1)尽量使用id选择器代替class选择器
(2)总是从#id选择器来继承
(3)使用链式操作
(4)使用时间委托on绑定事件
(5)采用jQuery的内部函数data()来存储数据
(6)使用最新版本的jQuery