1.jQuery

jQuery是一款非常流行的Javascript框架,如果你想要从事Web前端开发这个岗位,那么jQuery是你必须掌握而且能够熟练应用的一门技术。本文整理了一些关于jQuery的经典面试题及答案,分享给正要面试Web开发岗位的同学。

2:jQuery的美元符号$有什么作用?

回答:其实美元符号$只是”jQuery”的别名,它是jQuery的选择器,如下代码:

$(document).ready(function(){

});
当然你也可以用jQuery来代替$,如下代码:

jQuery(document).ready(function(){

});
jQuery中就是通过这个美元符号来实现各种灵活的DOM元素选择的,例如$(“#main”)即选中id为main的元素。

3.body中的onload()函数和jQuery中的document.ready()有什么区别?**

**
回答:onload()和document.ready()的区别有以下两点:

1、我们可以在页面中使用多个document.ready(),但只能使用一次onload()。

2、document.ready()函数在页面DOM元素加载完以后就会被调用,而onload()函数则要在所有的关联资源(包括图像、音频)加载完毕后才会调用。

4.如何使用jQuery实现点击按钮弹出一个对话框?

回答:代码如下:

HTML:

jQuery:

5.jQuery中的Delegate()函数有什么作用?

回答:delegate()会在以下两个情况下使用到:

1、如果你有一个父元素,需要给其下的子元素添加事件,这时你可以使用delegate()了,代码如下:

$(“ul”).delegate(“li”, “click”, function(){

$(this).hide();

});
2、当元素在当前页面中不可用时,可以使用delegate()

6.怎样用jQuery编码和解码URL?

回答:在jQuery中,我们可以使用以下方法实现URL的编码和解码。

encodeURIComponent(url) and decodeURIComponent(url)
问题:如何用jQuery禁用浏览器的前进后退按钮?
回答:实现代码如下:

7.请使用jQuery将页面上的所有元素边框设置为2px宽的虚线?

回答:这正是jQuery选择器上场的时候了,代码如下:

8.当CDN上的jQuery文件不可用时,该怎么办?

回答:为了节省带宽和脚本引用的稳定性,我们会使用CDN上的jQuery文件,例如google的jquery cdn服务。但是如果这些CDN上的jQuery服务不可用,我们还可以通过以下代码来切换到本地服务器的jQuery版本:

9:jQuery中有哪几种类型的选择器?

回答:从我自己的角度来讲,可以有3种类型的选择器,如下:

1、基本选择器:直接根据id、css类名、元素名返回匹配的dom元素。

2、层次选择器:也叫做路径选择器,可以根据路径层次来选择相应的DOM元素。

3、过滤选择器:在前面的基础上过滤相关条件,得到匹配的dom元素。

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

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

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

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

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

大致分为:基本选择器,层次选择器,表单选择器
基本选择器:id选择器,标签选择器,类选择器等
层次选择器:如:$(“form input”) 选择所有的form元素中的input元素 KaTeX parse error: Expected 'EOF', got '#' at position 3: ("#̲main > *")选择id为…(“tr:first”)选择所有tr元素的第一个 jquery前端开发实战教程编程题答案 jquery前端开发课后题答案_jQuery(":input")选择所有的表单输入元素 $(":text")选择所有的text的input元素

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

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

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

});

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

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

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

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

16、怎么使用jQuery中的动画

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

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

在元素内部添加
append:向每个匹配的元素内部追加内容

我想说:



$(“p”).append(“

你好”)


我想说:你好

appendTo:将所有匹配的元素追加到指定的元素中

我想说:



$(“

你好”).appendTo(“p”)


我想说:你好

prepend:向每个匹配的元素内部前置添加内容

我想说:



$(“p”).prepend(“

你好”)


你好我想说:

prependTo:将所有匹配的元素前置到指定的元素中

我想说:



$(“

你好”).prependTo(“p”)


你好我想说:

在元素外部添加
after:在每个匹配元素之后插入内容

我想说:



$(“p”).after(“

你好”)


我想说:


你好

insertAfter:将所有配的元素插入到指定元素的后面

我想说:



$(“

你好”).insertAfter(“p”)


我想说:


你好

before:在每个匹配的元素之前插入内容

我想说:



$(“p”).before(“

你好”)


你好

我想说:

insertBefore:将所有匹配的元素插入到指定的元素的前面

我想说:



$(“

你好”).insertBefore(“p”)


你好

我想说:

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

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

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

获取HTMl:jquery前端开发实战教程编程题答案 jquery前端开发课后题答案_JSON_02(“选择器”).text()

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

children():获取匹配元素的子元素集合,不考虑后代元素 KaTeX parse error: Expected '}', got 'EOF' at end of input: (function(){(“div”).children()})
next()获取匹配元素后面紧邻的同级元素
prev()获取匹配元素前紧邻的同级元素
siblings()获取匹配元素前后的所有同辈元素

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

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

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

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

23、说出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中.

24. $(this) 和 this 关键字在 jQuery 中有何不同?

$(this) 返回一个 jQuery 对象,你可以对它调用多个 jQuery 方法,比如用 text() 获取文本,用val()
获取值等等。而 this 代表当前元素,它是 JavaScript 关键词中的一个,表示上下文中的当前 DOM 元素。你不能对它调用
jQuery 方法,直到它被 $() 函数包裹,例如 $(this)。

25. jQuery 中的方法链是什么?使用方法链有什么好处?

方法链是对一个方法返回的结果调用另一个方法,这使得代码简洁明了,同时由于只对 DOM 进行了一轮查找,性能方面更加出色。

26. 你要是在一个 jQuery 事件处理程序里返回了 false 会怎样?

这通常用于阻止事件向上冒泡。

27. jQuery.get() 和 jQuery.ajax() 方法之间的区别是什么?

ajax() 方法更强大,更具可配置性, 让你可以指定等待多久,以及如何处理错误。get() 方法是一个只获取一些数据的专门化方法。

28. jQuery中 detach() 和 remove() 方法的区别是什么?

尽管 detach() 和 remove() 方法都被用来移除一个DOM元素, 两者之间的主要不同在于 detach()
会保持对过去被解除元素的跟踪, 因此它可以被取消解除, 而 remove() 方法则会保持过去被移除对象的引用. 你也还可以看看
用来向DOM中添加元素的 appendTo() 方法.

29. jQuery 里的 each() 是什么函数?你是如何使用它的?

each() 函数就像是 Java 里的一个 Iterator,它允许你遍历一个元素集合。你可以传一个函数给 each() 方法,被调用的jQuery 对象会在其每个元素上执行传入的函数。

30.$(this)和 $this的区别

答:this其实是一个Html 元素。this只是个变量名,加 this只是个变量名,加this只是个变量名,加是为说明其是个jquery对象。而$(this)是个转换,将this表示的dom对象转为jquery对象,这样就可以使用jquery提供的方法操作。

31、jquery的优点

jQuery是轻量级的框架,大小不到30kb;
它有强大的选择器,出色的DOM操作的封装,有可靠的事件处理机制;
完善的ajax,出色的浏览器的兼容性;
而且支持链式操作,隐式迭代。
行为层和结构层的分离,还支持丰富的插件,jquery的文档也非常的丰富。

32、jQuery中有哪几种类型的选择器?

基本选择器:直接根据id、CSS类名、元素名返回匹配的DOM元素。

层次选择器:也叫做路径选择器,可以根据路径层次来选择相应的DOM元素。

parent > child,prev + next ,prev ~ siblings
表单选择器: :input ,:text ,:password ,:radio ,:checkbox ,:submit 等;

过滤选择器:在前面的基础上过滤相关条件,得到匹配的DOM元素。

基本过滤器选择器::first,:last ,:not ,:even ,:odd ,:eq ,:gt ,:lt
内容过滤器选择器: :contains ,:empty ,:has ,:parent
可见性过滤器选择器::hidden ,:visible
属性过滤器选择器:[attribute] ,[attribute=value] ,[attribute!=value] ,[attribute^=value] ,[attribute$=value] ,[attribute*=value]
子元素过滤器选择器::nth-child ,:first-child ,:last-child ,:only-child
表单过滤器选择器::enabled ,:disabled ,:checked ,:selected

33、 jQuery 中$(this) 和 this 关键词有何不同?

$(this) 返回一个 jQuery 对象,你可以对它调用多个 jQuery 方法,比如用 text() 获取文本,用val() 获取值等等。
this 代表当前元素,它是 JavaScript 关键词中的一个,表示上下文中的当前 DOM 元素。你不能对它调用 jQuery 方法,直到它被 $() 函数包裹,例如 $(this)。

34、$(document).ready()方法和window.onload有什么区别?

window.onload方法是是页面所有元素都加载完毕,包括图片等所有元素。只能执行一次。
jquery前端开发实战教程编程题答案 jquery前端开发课后题答案_JSON_03(document).ready的执行时间要早于window.onload

35、jquery中的选择器 和 css中的选择器有区别吗?

jQuery选择器支持CSS里的选择器,
jQuery选择器可用来添加样式和添加相应的行为
CSS 中的选择器是只能添加相应的样式

36、操作样式的常用方法

addClass() 添加样式
removeClass() 删除样式
toggle() 切换样式

37、jquery中如何来获取或和设置属性?

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

38、jquery中遍历节点的常用方法

children() 获取子元素,只考虑子元素不考虑后代元素
next() 获取下一个紧邻的兄弟元素
prev() 获取上一个紧邻的兄弟元素
siblings() 获取当前元素的所有兄弟元素(除了自己)
parents() 获取当前元素的所有祖先元素。
find() 取得匹配元素中的元素集合 包括子代和后代

39、jQuery中的hover()和toggle()有什么区别?

hover(fn1,fn2): 一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。当鼠标移动到一个匹配的元素上面时,会触发指定的第一个函数。当鼠标移出这个元素时,会触发指定的第二个函数。

//当鼠标放在表格的某行上时将class置为over,离开时置为out。
$(“tr”).hover(function(){
$(this).addClass(“over”);
},
function(){
$(this).addClass(“out”);
});
toggle(evenFn,oddFn): 每次点击时切换要调用的函数。如果点击了一个匹配的元素,则触发指定的第一个函数,当再次点击同一元素时,则触发指定的第二个函数。随后的每次点击都重复对这两个函数的轮番调用。

//每次点击时轮换添加和删除名为selected的class。
$(“p”).toggle(function(){
$(this).addClass(“selected”);
},function(){
$(this).removeClass(“selected”);
});