概述
1、你在公司是怎么用jquery的?
在项目中是怎么用的是看看你有没有项目经验(根据自己的实际情况来回答) 你用过的选择器啊,动画啊,表单啊,ajax事件等
配置Jquery环境 下载jquery类库 在jsp页面引用jquery类库即可
<script type="text/javascript" src="jquery/jquery-1.7.2.min.js"/></script>
<script>
$(function(){ });
</script>
2 、你为什么要使用jquery?
因为jQuery是轻量级的框架,大小不到30kb,它有强大的选择器,出色的DOM操作的封装,有可靠的事件处理机制(jQuery在处理事件绑定的时候相当的可靠),完善的ajax(它的ajax封装的非常的好,不需要考虑复杂浏览器的兼容性和XMLHttpRequest对象的创建和使用的问题。) 出色的浏览器的兼容性。而且支持链式操作,隐式迭代。行为层和结构层的分离,还支持丰富的插件,jquery的文档也非常的丰富,开源。
3、你知道jquery中的选择器吗,请讲一下有哪些选择器?
选择器大致分为:基本选择器,层次选择器,过滤选择器,表单选择器
jQuery选择器支持CSS里的选择器,
jQuery选择器可用来添加样式和添加相应的行为
CSS 中的选择器是只能添加相应的样式
4、 jquery对象和dom对象是怎样转换的?
jquery转DOM对象:jQuery 对象是一个数组对象,可以通过[index]的丰富得到相应的DOM对象,还可以通过get[index]去得到相应的DOM对象。
DOM对象转jQuery对象:$(DOM对象)
5 你是如何使用jquery中的ajax的?
如果是一些常规的ajax程序的话,使用load(),$.get(),$.post(),就可以搞定了,一般我会使用的是$.post() 方法。如果需要设定beforeSend(提交前回调函数),error(失败后处理),success(成功后处理)及complete(请求完成后处理)回调函数等,这个时候我会使用$.ajax()
同步和异步区别、
同步:等待后端返回数据后 才能继续执行代码 一次执行运行 一个线程 其他的线程 阻塞 业务卡顿
异步 不等待后端返回数据 就可以继续执行代码 可以运行多个线程 多数据返回后 自动调用success回调函数 业务代码 在success完成
Ajax常用的数据类型有 xml和json 普遍使用json
网页卡顿 是什么原因 怎么解决 (使用了同步 将同步代码修改为异步 将业务逻辑转译到success方法)
6 、jquery中$.get()提交和$.post()提交有区别吗?
一: $.get() 方法使用GET方法来进行异步请求的,$.post() 方法使用POST方法来进行异步请求的。
二: get请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体内容发送给Web服务器的,这种传递是对用户不可见的。
三:get方式传输的数据大小不能超过2KB 而POST要大的多
四:GET 方式请求的数据会被浏览器缓存起来,因此有安全问题。
7、你使用过jquery中的动画吗,是怎样用的?
使用过。
hide() 和 show() 同时修改多个样式属性。像高度,宽度,不透明度。 fadeIn() 和fadeOut() fadeTo() 只改变不透明度
slideUp() 和 slideDown() slideToggle() 只改变高度
animate() 属于自定义动画的方法.
8、你使用过jquery中的插件吗?
使用过,easyui
9、你在jquery中使用过哪些插入节点的方法,它们的区别是什么?
append(),appendTo(),prepend(),prependTo(),after(),insertAfter() before(),insertBefore()
内添加
1.append在文档内添加元素
2.appendTo()把匹配的元素添加到对象里
3.prepend()在元素前添加
4.prependTo()把匹配的元素添加到对象前
外添加
1.after()在元素之后添加
2.before()在元素之前添加
3.insertAfter()把匹配元素在对象后添加
4.insertBefore()把匹配元素在对象前添加
10、jquery中如何来获取或和设置属性?
jQuery中可以用attr()方法来获取和设置元素属性,removeAttr() 方法来删除元素属性
11、如何来设置和获取HTML 和文本的值?
html()方法 类似于innerHTML属性 可以用来读取或者设置某个元素中的HTML内容注意:html() 可以用于xhtml文档,不能用于xml文档
Text() 类似于innerText属性 可以用来读取或设置某个元素中文本内容。
val() 可以用来设置和获取元素的值
12、你jquery中有哪些方法可以遍历节点?
children() 取得匹配元素的子元素集合,只考虑子元素不考虑后代元素 next() 取得匹配元素后面紧邻的同辈元素
prev() 取得匹配元素前面紧邻的同辈元素
siblings() 取得匹配元素前后的所有同辈元素
closest() 取得最近的匹配元素
find() 取得匹配元素中的元素集合 包括子代和后代
13、你在ajax中使用过JSON吗,你是如何用的?
使用过,在$.getJSON()方法的时候就是从后来返回的json字符串转换成js的json对象 。
14、$(document).ready() $(function({}))方法和window.onload有什么区别?
两个方法有相似的功能,但是在实行时机方面是有区别的。
1 window.onload方法是在网页中所有的元素(包括元素的所有关联文件)完全加载到浏览器后才执行的。
2 $(document).ready() 方法可以在DOM载入就绪时就对其进行操纵,并调用执行绑定的函数。
15、jQuery是如何处理缓存的?
要处理缓存就是禁用缓存.
1 通过$.post() 方法来获取数据,那么默认就是禁用缓存的。
2 通过$.get()方法 来获取数据,可以通过设置时间戳来避免缓存。
可以在URL后面加上+(+new Date)
例 $.get('ajax.xml?'+(+new Date),function () { //内容 });
3 通过$.ajax 方法来获取数据,只要设置cache:false即可。
16、你读过有关于jQuery的书吗?
《jquery基础教程》,《jquery实战》,《锋利的jquery》,《巧用jquery》,《jQuery用户界面库学习指南》等、
17、radio单选组的第二个元素为当前选中值,该怎么去取?
$('input[type=radio]')[1].checked = true;
18、你使用过哪些数据格式,它们各有什么特点?
HTML格式 ,JSON格式,javascript格式,XML格式
HTML片段提供外部数据一般来说是最简单的。
如果数据需要重用,而且其他应用程序也可能一次受到影响,那么在性能和文件大小方面具有优势的JSON通常是不错的选择。
而当远程应用程序未知时,XML则能够为良好的互操作性提供最可靠的保证。
19、jQuery 能做什么?
1 获取页面的元素
2 修改页面的外观
3 改变页面大的内容
4 响应用户的页面操作
5 为页面添加动态效果
6 无需刷新页面,即可以从服务器获取信息
7 简化常见的javascript任务
20、在ajax中发送data主要有几种方式? ?id=1&
三种,html拼接的,json数组,form表单经serialize()序列化的。
21、jQuery中的hover()和toggle()有什么区别?
hover()和toggle()都是jQuery中两个合成事件。
hover()方法用于模拟光标悬停事件。
toggle()方法是连续点击事件。
22、你知道jQuery中的事件冒泡吗,它是怎么执行的,何如来停止冒泡事件?
知道, 事件冒泡是从里面的往外面开始触发。
在jQuery中提供了stopPropagation()方法可以停止冒泡。
23、介绍一下 easyui的布局
easyUI布局容器包括东、西、南、北、中五个区域,其中中心面板是必须的,而东、西、南、北这四个面板是可选的,如果布局里面不需要东、西、南、北这四个面板,那么可以把相应的div删掉,另外,如果需要创建复杂的easyUI布局,那么可以通过嵌套东、西、南、北、中五个面板来实现
24、easyui如何实现表单验证
easyui 框架提供一个 validatebox 插件来验证一个表单。表单 input 标记将根据 validType 属性应用验证 比如 required="true" validType="email"
25、easyui如何实现表格分页
为了从远程服务器端加载数据,您应该设置datagrid的 'url' 属性 ,服务器端应该返回 JSON 格式数据。定义数据网格(datagrid)列,并设置 'pagination' 属性为 true,它将在数据网格(datagrid)的底部生成一个分页(pagination)工具栏。pagination将发送两个参数到服务器:
page:当前页,起始值 1。
rows:每页显示行。
最后
以上就是妩媚学姐为你收集整理的jquery面试题的全部内容,希望文章能够帮你解决jquery面试题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复