2019年前端常见jQuery面试题

news/2024/7/10 23:59:13 标签: 前端开发, jQuery

一、$(document).ready() 是个什么函数?为什么要用它?

ready() 函数用于在文档进入ready状态时执行代码。当DOM 完全加载(例如HTML被完全解析DOM树构建完成时),jQuery允许你执行代码。使用$(document).ready()的最大好处在于它适用于所有浏览器,jQuery帮你解决了跨浏览器的难题。需要进一步了解的用户可以点击 answer链接查看详细讨论。

二、JavaScript window.onload 事件和 jQuery ready 函数有何不同?

 这个问答是紧接着上一个的。JavaScript window.onload 事件和 jQuery ready 函数之间的主要区别是,前者除了要等待 DOM 被创建还要等到包括大型图片、音频、视频在内的所有外部资源都完全加载。如果加载图片和媒体内容花费了大量时间,用户就会感受到定义在 window.onload 事件上的代码在执行时有明显的延迟。

  另一方面,jQuery ready() 函数只需对 DOM 树的等待,而无需对图像或外部资源加载的等待,从而执行起来更快。使用 jQuery $(document).ready() 的另一个优势是你可以在网页里多次使用它,浏览器会按它们在 HTML 页面里出现的顺序执行它们,相反对于 onload 技术而言,只能在单一函数里使用。鉴于这个好处,用 jQuery ready() 函数比用 JavaScript window.onload 事件要更好些。

三、你是如何将一个 HTML 元素添加到 DOM 树中的?

append

appendTo

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

这对于很多 jQuery 初学者来说是一个棘手的问题,其实是个简单的问题。$(this) 返回一个 jQuery 对象,你可以对它调用多个 jQuery 方法,比如用 text() 获取文本,用val() 获取值等等。而 this 代表当前元素,它是 JavaScript 关键词中的一个,表示上下文中的当前 DOM 元素。你不能对它调用 jQuery 方法,直到它被 $() 函数包裹,例如 $(this)。

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

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

六、你知道jquery中的选择器吗,请讲一下有哪些选择器?

答 :大致分为:基本选择器,层次选择器,表单选择器

基本选择器:id选择器,标签选择器,类选择器等

层次选择器:如:$("form input") 选择所有的form元素中的input元素 $("#main > *")选择id为main的所有子元素

过滤选择器:如:$("tr:first")选择所有tr元素的第一个  $("tr:last")选择所有tr元素的最后一个

表单选择器:如:$(":input")选择所有的表单输入元素 $(":text")选择所有的text的input元素

七、jquery对象和dom对象是怎样转换的?

答 :jquery转DOM对象:jQuery 对象是一个数组对象,可以通过[index]的丰富得到相应的DOM对象

还可以通过get[index]去得到相应的DOM对象。

DOM对象转jQuery对象:$(DOM对象)

八、 在jquery中你是如何去操作样式的?

addClass() 来追加样式

removeClass() 来删除样式

toggle() 来切换样式

九、jquery你都学了哪些内容?

1.选择器;     2.对DOM的操作    3.jquery绑定事件   4.jquery动画    5.jquery对ajax的封装

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

1、因为jQuery是轻量级的框架,大小不到30kb

2、它有强大的选择器,出色的DOM操作的封装

3、有可靠的事件处理机制(jQuery在处理事件绑定的时候相当的可靠)

4、完善的ajax(它的ajax封装的非常的好,不需要考虑复杂浏览器的兼容性和XMLHttpRequest对象的创建和使用的问题。)

5、出色的浏览器的兼容性

6、支持链式操作,隐式迭代

7、行为层和结构层的分离,还支持丰富的插件,jquery的文档也非常的丰富

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

可以用attr()获取和设置元素属性

removeAttr()方法来删除元素属性   

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

获取HTMl:$("选择器").html()

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

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

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.易于人阅读和编写,同时也易于机器解析和生成.JSON采用完全独立于语言的文本格式.

  JSON最常见的用法之一,是从web服务器上读取JSON数据,将JSON数据转换为JavaScript对象,然后在网页中使用该数据.

十四、说出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请求载入信息.

十五、你用过jquery动画吗?请说出jquery动画的关键字?

$(selector).animate({params},speed,callback);

十六、jquery动画如何控制元素的隐藏与展示?

$( selector).hide();

$( selector).show();

十七、Vue和jquery有什么区别?

vue是数据驱动,是MVVM框架

jquery是模型驱动


http://www.niftyadmin.cn/n/1659682.html

相关文章

c#重构之获取时间

前言 在进行重构的过程中,由于是机房收费系统,不可避免的会涉及到日期啊,金钱之类的东西,所以呢,今天小编就和大家一起来探讨一下获取时间的几种方法。 详解 1.当表中只需要一个时间时,可以使用设计表中该…

c#重构之DataGridView控件

前言 在重构进行查询的过程中,我们会接触一个控件:DataGridView,对于这个控件,在不同的场合会有不同的属性设置,现在我们就一起来看一下这个控件的属性设置。 详情 1.基本窗体的设置 这个设置是大多窗体都是这样设置的…

C#重构之透过查询学生基本信息看组合查询

前言 组合查询可以看成系统的亮点和难点吧,学完设计模式之后,组合查询便可以使用模板模式进行操作,同时,之前咱们也进行过存储过程的讲解,所以,组合查询可以结合设计模式和存储过程,现在我们以查…

C#重构之修改学生信息

前言 对学生的信息进行维护的时候会涉及到对学生信息的修改,那如何确定要修改的是哪个学生的信息呢?这里就涉及到了从一个窗体的DataGridView控件选中值后把值传给另一个窗体上,现在我们一起来看一下是如何实现的吧! 详解 之前咱…

C++之虚继承

前言 目前为止,C是小编学习的唯一一个可以进行多重继承的语言,顾名思义,多重继承就是一个派生类有两个基类(在C中父类是基类,子类是派生类),那对于多重继承又会涉及到虚继承,那今天我…

C#重构之职责链模式的使用

前言 之前我们一起学习了设计模式,那设计模式具体应该如何应用呢?现在我们来一起看一下职责链模式在重构中的应用吧。 内容 1.什么是职责链模式? 职责链模式是使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合…

【牛腩】便利小技巧

前言 在牛腩的进行中,涉及到了很多便利的小技巧,同时也体现了“不将就”的精神,特此整理一下,分享给大家。 小技巧一:复制代码块 敲代码的过程中,会有很多重复的代码,如果不想一直进行窗体之间…

又是一个半年匆匆过

前言 与之相比,这半年更多的是成长吧。 成长一:我的小目标 翻开上一个半年总结,发现几个月前的自己给这几个月的自己定了一个小目标: 1.多多为别人着想,遇事先想想别人,不要先自己着急;   2.…