JQ面试问题(转载)
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有哪些好处? 答案同上
4 你使用jquery遇到过哪些问题,你是怎么解决的?
答:这个答案是开发的,看你是否有相关的项目经验。
例:前台拿不到值,JSON 可是出现的错误(多了一个空格等)这编译是不会报错的 jquery库与其他库冲突;
今天在处理一个数据问题时,发现jQuery.ajax()方法返回的值一直有问题,清除缓存后数据无误,多次测试后发现返回的值都是之前的值,并且一直未执行url(后台为JAVA,设置断点一直未进入)。在网上查找下,发现是未设置type的原因。如果没设置jQuery.ajax的type="Post",那么ajax就会默认type="Get",这就会导致之前数据被缓存起来。加上type="Post",问题解决!
5 你知道jquery中的选择器吗,请讲一下有哪些选择器?
答 :选择器大致分为:基本选择器,层次选择器,过滤选择器,表单选择器
6 jquery中的选择器 和 css中的选择器有区别吗?
答:jQuery选择器支持CSS里的选择器,
jQuery选择器可用来添加样式和添加相应的行为
CSS 中的选择器是只能添加相应的样式
7 你觉得jquery中的选择器有什么优势?
答:简单的写法 $('ID') 来代替 document.getElementById()函数
支持CSS1 到CSS3 选择器
完善的处理机制(就算写错了id也不会报错)
8 你在使用选择器的时候有有没有什么觉得要注意的地方?
答: 1 选择器中含有".","#","[" 等特殊字符的时候需要进行转译
2 属性选择器的引号问题
3 选择器中含有空格的注意事项
9 jquery对象和dom对象是怎样转换的?
答 :jquery转DOM对象:jQuery 对象是一个数组对象,可以通过[index]的丰富得到相应的DOM对象
还可以通过get[index]去得到相应的DOM对象。
DOM对象转jQuery对象:$(DOM对象)
10 你是如何使用jquery中的ajax的?
答: 如果是一些常规的ajax程序的话,使用load(),$.get(),$.post(),就可以搞定了,一般我会使用的是$.post() 方法。如果需要设定beforeSend(提交前回调函数),error(失败后处理),success(成功后处理)及complete(请求完成后处理)回调函数等,这个时候我会使用$.ajax()
11 你觉得jquery中的ajax好用吗,为什么?
答: 好用的。因为jQuery提供了一些日常开发中夙瑶的快捷操作,例 load,ajax,get,post等等,所以使用jQuery开发ajax将变得极其简单,我们就可以集中精力在业务和用户的体验上,不需要去理会那些繁琐的XMLHttpRequest对象了。
12 jquery中$.get()提交和$.post()提交有区别吗?
答: 1 $.get() 方法使用GET方法来进行异步请求的。
$.post() 方法使用POST方法来进行异步请求的。
2 get请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体内容发送给Web服务器的,这种传递是对用户不可见的。
3 get方式传输的数据大小不能超过2KB 而POST要大的多
4 GET 方式请求的数据会被浏览器缓存起来,因此有安全问题。
13 jquery中的load方法一般怎么用的?
答:load方法一般在载入远程HTML代码并插入到DOM中的时候用
通常用来从Web服务器上获取静态的数据文件。
如果要传递参数的话,可以使用$.get() 或 $.post()
14 在jquery中你是如何去操作样式的?
答: addClass() 来追加样式
removeClass() 来删除样式
toggle() 来切换样式
15 简单的讲叙一下jquery是怎么处理事件的,你用过哪些事件?
答: 首先去装载文档,在页面家在完毕后,浏览器会通过javascript 为DOM 元素添加事件。
16 你使用过jquery中的动画吗,是怎样用的?
答:使用过。
hide() 和 show() 同时修改多个样式属性。像高度,宽度,不透明度。 fadeIn() 和fadeOut() fadeTo() 只改变不透明度
slideUp() 和 slideDown() slideToggle() 只改变高度
animate() 属于自定义动画的方法.
17 你使用过jquery中的插件吗?
答:看个人的实力和经验来回答了,例如:jQuery_Mobile,jQuery_ui。
18 你一般用什么去提交数据,为什么?
答:一般我会使用的是$.post() 方法。
如果需要设定beforeSend(提交前回调函数),error(失败后处理),success(成功后处理)及complete(请求完成后处理)回调函数等,这个时候我会使用$.ajax()
19 在jquery中引入css有几种方式?
答:四种 行内式,内嵌式,导入式,链接式
20 你在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()把匹配元素在对象前添加
21 你使用过包裹节点的方法吗,包裹节点有方法有什么好处?
答: 1.wrap()把匹配的元素包裹起来
2.wrapAll()把所有匹配的对象用单个元素包裹
3.wrapInner()将每一个元素的子内容包裹
需要在文档中插入额外的结构化标记的时候可以使用这些包裹的方法,应为它不会帛画原始文档的语义
22 jquery中如何来获取或和设置属性?
答:jQuery中可以用attr()方法来获取和设置元素属性
removeAttr() 方法来删除元素属性
23 如何来设置和获取HTML 和文本的值?
答:html()方法 类似于innerHTML属性 可以用来读取或者设置某个元素中的HTML内容注意:html() 可以用于xhtml文档,不能用于xml文档
Text() 类似于innerText属性 可以用来读取或设置某个元素中文本内容。
val() 可以用来设置和获取元素的值
24 你jquery中有哪些方法可以遍历节点?
答 :children() 取得匹配元素的子元素集合,只考虑子元素不考虑后代元素 next() 取得匹配元素后面紧邻的同辈元素
prev() 取得匹配元素前面紧邻的同辈元素
siblings() 取得匹配元素前后的所有同辈元素
closest() 取得最近的匹配元素
find() 取得匹配元素中的元素集合 包括子代和后代
25 子元素选择器和后代选择器元素有什么区别?
答:子代元素是找子节点下的所有元素,后代元素是找子节点或子节点的子节点的元素
26 在jquery中可以替换节点吗?
答:可以 在jQuery中有两者替换节点的方式replaceWith() 和 replaceAll() 例如:在<p title="hao are you">hao are you</p>替换成<strong>I am fine<strong> $('p').replaceWith('<strong>I am fine</strong>');
replaceAll 与replaceWith的用法前后调换一下即可。
27 你觉得beforeSend方法有什么用?
答:发送请求前可以修改XMLHttpRequest对象的函数,在beforeSend中,如果返回false可以取消本次的Ajax请求。XMLHttpRequest对象是唯一的参数,所以在这个方法里可以做验证
28 siblings() 方法 和 $('prev~div')选择器是一样的嘛?
答: $('prev~div') 只能选择'#prev'元素后面的同辈<div>元素
而siblings()方法与前后的文职无关,只要是同辈节点就都能匹配。
29 你在ajax中使用过JSON吗,你是如何用的?
答:使用过,在$.getJSON()方法的时候就是。
因为 $.getJSON() 就是用于加载JSON文件的
30 有哪些查询节点的选择器?
答:我在公司使用过
:first 查询第一个, :last 查询最后一个,
:odd查询奇数但是索引从0开始 :even 查询偶数,
:eq(index)查询相等的 , :gt(index)查询大于index的 ,
:lt查询小于index :header 选取所有的标题等
31 nextAll()能替代$('prev~siblindgs')选择器吗?
答:能。使用nextAll() 和使用$('prev~siblindgs') 是一样的
32 jQuery中有几种方法可以来设置和获取样式
答 :addClass() 方法,attr() 方法
33 $(document).ready()方法和window.onload有什么区别?
答: 两个方法有相似的功能,但是在实行时机方面是有区别的。
1 window.onload方法是在网页中所有的元素(包括元素的所有关联文件)完全加载到浏览器后才执行的。
2 $(document).ready() 方法可以在DOM载入就绪时就对其进行操纵,并调用执行绑定的函数。
34 jQuery是如何处理缓存的?
答 :要处理缓存就是禁用缓存.
1 通过$.post() 方法来获取数据,那么默认就是禁用缓存的。
2 通过$.get()方法 来获取数据,可以通过设置时间戳来避免缓存。
可以在URL后面加上+(+new Date)
例 $.get('ajax.xml?'+(+new Date),function () { //内容 });
3 通过$.ajax 方法来获取数据,只要设置cache:false即可。
35 $.getScript()方法 和 $.getJson() 方法有什么区别?
答: 1 $.getScript() 方法可以直接加载.js文件,并且不需要对javascript文件进行处理,javascript文件会自动执行。
2 $.getJson() 是用于加载JSON 文件的 ,用法和$.getScript()
36 你读过有关于jQuery的书吗?
答: 《jquery基础教程》,《jquery实战》,《锋利的jquery》,《巧用jquery》,《jQuery用户界面库学习指南》等
37 $("#msg").text(); 和 $("#msg").text("<b>new content</b>");有什么区别?
答:1 $("#msg").text() 是 返回id为msg的元素节点的文本内容
2 $("#msg").text("<b>new content</b>");是 将“<b>new content</b>”作为普通文本串写入id为msg的元素节点内容中,
页面显示粗体的<b>new content</b>
38 radio单选组的第二个元素为当前选中值,该怎么去取?
答 : $('input[name=items]').get(1).checked = true;
39 选择器中 id,class有什么区别?
答:在网页中 每个id名称只能用一次,class可以允许重复使用
40 你使用过哪些数据格式,它们各有什么特点?
答: HTML格式 ,JSON格式,javascript格式,XML格式
1 HTML片段提供外部数据一般来说是最简单的。
2 如果数据需要重用,而且其他应用程序也可能一次受到影响,那么在性能和文件大小方面具有优势的JSON通常是不错的选择。
3 而当远程应用程序未知时,XML则能够为良好的互操作性提供最可靠的保证。
41 jQuery 能做什么?
答:1 获取页面的元素
2 修改页面的外观
3 改变页面大的内容
4 响应用户的页面操作
5 为页面添加动态效果
6 无需刷新页面,即可以从服务器获取信息
7 简化常见的javascript任务
42 在ajax中data主要有几种方式?
答 : 三种,html拼接的,json数组,form表单经serialize()序列化的。
43 :jQuery中的hover()和toggle()有什么区别?
答 hover()和toggle()都是jQuery中两个合成事件。
hover()方法用于模拟光标悬停事件。
toggle()方法是连续点击事件。
44 你知道jQuery中的事件冒泡吗,它是怎么执行的,何如来停止冒泡事件?
答 : 知道, 事件冒泡是从里面的往外面开始触发。
在jQuery中提供了stopPropagation()方法可以停止冒泡。
45 例如 单击超链接后会自动跳转,单击"提交"按钮后表单会提交等,有时候我想阻止这些默认的行为,该怎么办?
答: 可以用 event.preventDefault()
或 在事件处理函数中返回false,即 return false;
46.jquery表单提交前有几种校验方法?分别为??
formData:返回一个数组,可以通过循环调用来校验
jaForm:返回一个jQuery对象,所有需要先转换成dom对象
fieldValue:返回一个数组 beforeSend()
47.在jquery中你有没有编写过插件,插件有什么好处?你编写过那些插件?它应该注意那些?
答: 插件的好处:对已有的一系列方法或函数的封装,以便在其他地方重新利用,方便后期维护和提高开发效率
插件的分类:封装对象方法插件 、封装全局函数插件、选择器插件注意的地方:
1.插件的文件名推荐命名为jquery.[插件名].js,以免和其他的javaScript库插件混
2.所有的对象方法都应当附加到jQuery.fn对象上,而所有的全局函数都应当附加到jQuery对象本身上
3.插件应该返回一个jQuery对象,以保证插件的可链式操作
4.避免在插件内部使用$作为jQuery对象的别名,而应使用完整的jQuery来表示,这样可以避免冲突或使用闭包来避免
5.所有的方法或函数插件,都应当一分好结尾,否则压缩的时候可能出现问题。在插件头部加上分号,这样可以避免他人的不规范代码给插件带来影响
6.在插件中通过$.extent({})封装全局函数,选择器插件,扩展已有的object对象通过$.fn.extend({})封装对象方法插件
48.怎样给jquery动态附加新的元素?那么怎样给新生成的元素绑定事件呢?
jQuery的html()可以给现在元素附加新的元素
直接在元素还未生成前就绑定肯定是无效的,因为所绑定的元素目前根本不存在。
所以我们可以通过live和livequery来动态绑定事件
49.Jquery与jQuery UI 有啥区别?
*jQuery是一个js库,主要提供的功能是选择器,属性修改和事件绑定等等。
*jQuery UI则是在jQuery的基础上,利用jQuery的扩展性,设计的插件。
提供了一些常用的界面元素,诸如对话框、拖动行为、改变大小行为等等
50.jquery 中如何将数组转化为json字符串,然后再转化回来?
jQuery中没有提供这个功能,所以你需要先编写两个jQuery的扩展:
$.fn.stringifyArray = function(array) {
return JSON.stringify(array)
}
$.fn.parseArray = function(array) {
return JSON.parse(array)
}
然后调用:
$("").stringifyArray(array)
JQ面试问题(转载)的更多相关文章
- 面试相关-转载-well,yzl——持续更新
转载yl,yzl大神的面经,顺便自己复习一下专业课的内容 操作系统相关: 什么是进程, 什么是线程.它们之间的区别和联系. 进程管理内存资源+运行过程, 线程只管理运行过程, 线程要在进程提供的资源基 ...
- 面试题目<转载>
1:检测一个变量是否有设置的函数是否?是否为空的函数是?(2分) 2:echo(),print(),print_r()的区别(3分) 3:表单中 get与post提交方法的 ...
- 嵌入式开发—C语言面试题
嵌入式开发—C语言面试题 源地址:http://blog.csdn.net/xdx2ct1314/article/details/7358929 1. 用预处理指令#define 声明一个常数,用 ...
- 阿里面试回来,想和Java程序员谈一谈(转载)
引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来.LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容 ...
- Java JVM 请别拿“String s=new String("z");创建了多少实例”来面试 [ 转载 ]
Java 请别再拿“String s = new String("xyz");创建了多少个String实例”来面试了吧 [ 转载 ] @author RednaxelaFX 原文链 ...
- [转载]面试心得与总结---BAT、网易、蘑菇街等
转载自:http://mp.weixin.qq.com/s?__biz=MzIzMDIxNTQ3NA==&mid=2649111851&idx=1&sn=f43c42f7262 ...
- 【转载】JAVA多线程和并发基础面试问答
转载自这里. 多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一.在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题.(校对注: ...
- 如何拿到半数面试公司Offer——我的Python求职之路(转载)
从八月底开始找工作,短短的一星期多一些,面试了9家公司,拿到5份Offer,可能是因为我所面试的公司都是些创业性的公司吧,不过还是感触良多,因为学习Python的时间还很短,没想到还算比较容易的找到了 ...
- java笔试面试(转载)
Java面试笔试题大汇总(最全+详细答案) 2016-02-01 15:23 13480人阅读 评论(8) 收藏 举报 分类: Java面试题(1) 声明:有人说, 有些面试题很变态,个人认为其实 ...
随机推荐
- 网易免费企业邮箱Foxmail设置方法
网易免费企业邮箱Foxmail7.0设置方法 第一步:启动 Foxmail 邮件客户端,点击工具->账号管理,弹出如下页面. 点击新建,如下: 填写自己企业邮箱账号,然后下一步,邮箱类型选择PO ...
- JS生成某个范围的随机数【四种情况详解】
JS没有现成的函数,能够直接生成指定范围的随机数. 但是它有个函数:Math.random() 这个函数可以生成 [0,1) 的一个随机数. 利用它,我们就可以生成指定范围内的随机数. 而涉及范围的 ...
- ssm中返回中文字符串时出现乱码?
问题:返回json格式时,前端ajax请求,响应数据接收正常: 返回String时,响应数据是乱码? 解决:@RequestMapping注解中添加:produces = "text ...
- 安装MySQL-python时报错
(py27) [root@test SimpletourDevops]# pip install MySQL-python DEPRECATION: Python 2.7 will reach the ...
- odoo开发笔记-自定义发送邮件模板
1. 首先激活开发者模式 2. 点击设置 - Email - 模板 - “选择你需要修改的模板” 我们以销售模块-报价单 邮件模板为例 来说明. quote order 原先默认模板,发出的邮件显示效 ...
- Hadoop环境搭建及wordcount程序
目的: 前期学习了一些机器学习基本算法,实际企业应用中算法是核心,运行的环境和数据处理的平台是基础. 手段: 搭建简易hadoop集群(由于机器限制在自己的笔记本上通过虚拟机搭建) 一.基础环境介绍 ...
- ElasticSearch 6.x 父子文档[join]分析
ES6.0以后,索引的type只能有一个,使得父子结构变的不那么清晰,毕竟对于java开发者来说,index->db,type->table的结构比较容易理解. 按照官方的说明,之前一个索 ...
- 使用binlog2sql针对mysql进行数据恢复
MySQL闪回原理与实战 DBA或开发人员,有时会误删或者误更新数据,如果是线上环境并且影响较大,就需要能快速回滚.传统恢复方法是利用备份重搭实例,再应用去除错误sql后的binlog来恢复数据.此法 ...
- linux使用find和crontab命令定期清理过期文件
crontab 命令 crontab 命令是 Linux 中用来设定重复执行命令或脚本的工具.它能够在指定的时间段内,按照需求以某一时间间隔执行命令或脚本. crontab 的基本用法 crontab ...
- Maven install [WARNING] The artifact aspectj:aspectjrt:jar:1.5.4 has been relocated to org.aspectj:aspectjrt:jar:1.5.4
一.背景 最近在给项目打包的时候,在控制台老是出现一行警告:[WARNING] The artifact aspectj:aspectjrt:jar:1.5.4 has been relocated ...