很多人认为属于JQ的时代已经结束了!但是请不要忘记JQ自身还有一项非常牛的优势——兼容性!这是其它框架所不具备的!所以至少目前JQ还是有自己的用武之地的。在这里我将JQ的一些面试题进行了整理,希望对大家有所帮助!

1、你为什么要使用jQuery?你觉得jquery有哪些好处?

1、因为jQuery是轻量级的框架,大小不到30kb
2、它有强大的选择器,出色的DOM操作的封装
3、有可靠的事件处理机制(jQuery在处理事件绑定的时候相当的可靠)
4、完善的ajax(它的ajax封装的非常的好,不需要考虑复杂浏览器的兼容性和XMLHttpRequest对象的创建和使用的问题。)
5、出色的浏览器的兼容性
6、支持链式操作,隐式迭代
7、行为层和结构层的分离,还支持丰富的插件,jquery的文档也非常的丰富1‘

2、$(document).ready() $(functiion({}))方法和window.onload有什么区别?

两个方法的功能相似,但在实行时机方面是有区别的
1、window.onload方法是在网页中所有的元素完全加载到浏览器后才执行
2、$(document).ready() 可以在DOM载入就绪是就对其进行操纵,并调用执行绑定的函数

3、你知道jQuery中的选择器吗,有哪些选择器

大致分为:基本选择器,层次选择器,表单选择器
基本选择器:id选择器,标签选择器,类选择器等
层次选择器:如:$("form input") 选择所有的form元素中的input元素 $("#main > *")选择id为main的所有子元素
过滤选择器:如:$("tr:first")选择所有tr元素的第一个  $("tr:last")选择所有tr元素的最后一个
表单选择器:如:$(":input")选择所有的表单输入元素 $(":text")选择所有的text的input元素

4、jQuery的美元符号$有什么作用?

回答:其实美元符号$只是”jQuery”的别名,它是jQuery的选择器,如下代码:
$(document).ready(function(){  

});
当然你也可以用jQuery来代替$,如下代码:
jQuery(document).ready(function(){  

});

5、jQuery对象和DOM对象是怎样转换的

jQuery对象是一个包含了dom对象的数组 可以通过jQuery对象[下标]获取dom对象
将dom对象放入$("")中转为jQuery对象

6、jQuery中$.get()提交和$.post()提交的区别

1、$.get()使用GET方法来进行异步提交 $.post()使用POST方法来进行异步提交
2、get请求方式将参数跟在url后进行传递用户可见 post请求则是作为http消息的实体内容发送给服务器,用户不可见
3、post传输数据比get大
4、get请求的数据会被浏览器缓存 不安全

7、怎么使用jQuery中的动画

隐藏:hide()
显示:show()
淡入淡出:fadeIn()==淡入(显示) fadeOut()==淡出(消失)
滑动:slideUp()==向上滑动  slideDown()==向下滑动

8、jQuery中使用过哪些插入节点的方法,他们的区别是什么

在元素内部添加
append:向每个匹配的元素内部追加内容 
        <p>我想说:</p>
        $("p").append("<b>你好</b>") 
        <p>我想说:<b>你好</b></p>

appendTo:将所有匹配的元素追加到指定的元素中 
        <p>我想说:</p> 
        $("<b>你好</b>").appendTo("p") 
        <p>我想说:<b>你好</b></p>

prepend:向每个匹配的元素内部前置添加内容 
        <p>我想说:</p> 
        $("p").prepend("<b>你好</b>") 
        <p><b>你好</b>我想说:</p>

prependTo:将所有匹配的元素前置到指定的元素中 
        <p>我想说:</p> 
        $("<b>你好</b>").prependTo("p") 
        <p><b>你好</b>我想说:</p>

在元素外部添加
after:在每个匹配元素之后插入内容 
        <p>我想说:</p> 
        $("p").after("<b>你好</b>") 
        <p>我想说:</p><b>你好</b>

insertAfter:将所有配的元素插入到指定元素的后面 
        <p>我想说:</p> 
        $("<b>你好</b>").insertAfter("p") 
        <p>我想说:</p><b>你好</b>

before:在每个匹配的元素之前插入内容 
        <p>我想说:</p> 
        $("p").before("<b>你好</b>") 
        <b>你好</b><p>我想说:</p>

insertBefore:将所有匹配的元素插入到指定的元素的前面 
        <p>我想说:</p> 
        $("<b>你好</b>").insertBefore("p") 
        <b>你好</b><p>我想说:</p>

9、jQuery中如何来获取和设置属性

可以用attr()获取和设置元素属性
removeAttr()方法来删除元素属性

10、如何来设置和获取HTML和文本的值?

获取HTMl:$("选择器").html()
获取文本的值:$("选择器").text()

11、jQuery中有哪些方法可以遍历节点?

children():获取匹配元素的子元素集合,不考虑后代元素 $(function(){$("div").children()})
next()获取匹配元素后面紧邻的同级元素
prev()获取匹配元素前紧邻的同级元素
siblings()获取匹配元素前后的所有同辈元素

12、radio单选组的第二个元素为当前选中的值,该怎么去取

$('input[type=radio]')[1].checked=true

13、什么是JSON,在什么情况下使用?

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.易于人阅读和编写,同时也易于机器解析和生成.JSON采用完全独立于语言的文本格式. 
  JSON最常见的用法之一,是从web服务器上读取JSON数据,将JSON数据转换为JavaScript对象,然后在网页中使用该数据.

14、说出jQuery中常见的几种函数以及他们的含义是什么?

jQuery中常见的函数如下: 
  1)get()取得所有匹配的DOM元素集合. 
  2)get(index)取得其中一个匹配的元素.index表示取得第几个匹配的元素. 
  3)append(content)向每个匹配的元素内部追加内容. 
  4)after(content)在每个匹配的元素之后插入内容. 
  5)html()/html(var)取得或设置匹配元素的html内容. 
  6)find(expr)搜索所有与指定表达式匹配的元素. 
  7)bind(type,[data],fn)为每个匹配元素的特定事件绑定事件处理函数. 
  8)empty()删除匹配的元素集合中所有的子节点. 
  9)hover(over,out)一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法. 
  10)attr(name)取得第一个匹配元素的属性值. 
  11)addClass(class)和removeClass(class)为指定的元素添加或移除样式. 
  12)css(name)访问第一个匹配元素的样式属性. 
  13)ajax([options])通过HTTP请求加载远程数据. 
  14)get(url,[data],[callback],[type])通过远程HTTP GET请求载入信息. 
  15)post(url,[data],[callback],[type])通过远程HTTP POST请求载入信息. 
  16)load(url,[data],[callback])载入远程HTML文件代码并插入至DOM中.

15、AJAX都有哪些优点和缺点?

1、最大的一点是页面无刷新,用户的体验非常好。
2、使用异步方式与服务器通信,具有更加迅速的响应能力。
3、可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。
4、基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。
ajax的缺点
1、ajax不支持浏览器back按钮。
2、安全问题 AJAX暴露了与服务器交互的细节。
3、对搜索引擎的支持比较弱。
4、破坏了程序的异常机制。
5、不容易调试。

16、AJAX最大的特点是什么。

Ajax可以实现动态不刷新(局部刷新)
就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。

17、请介绍一下XMLhttprequest对象。

Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。通过XMLHttpRequest对象,Web开发人员可以在页面加载以后进行页面的局部更新。