jQuery面试题

1 如何在点击一个按钮时使用 jQuery 隐藏一个图片?

这是一个事件处理问题。jQuery为按钮点击之类的事件提供了很好的支持。你可以通过以下代码去隐藏一个通过ID或class定位到的图片。你需要知道如何为按钮设置事件并执行hide() 方法

$('#ButtonToClick').click(function(){$('#ImageToHide').hide();});

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

ready() 函数用于在文档进入ready状态时执行代码。

当DOM 完全加载(例如HTML被完全解析DOM树构建完成时),jQuery允许你执行代码。

使用$(document).ready()的最大好处在于它适用于所有浏览器,jQuery帮你解决了跨浏览器的难题。

3、 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 事件要更好些。

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

each() 函数就像是 Java 里的一个 Iterator,它允许你遍历一个元素集合。

你可以传一个函数给 each() 方法,被调用的 jQuery 对象会在其每个元素上执行传入的函数。

有时这个问题会紧接着上面一个问题,举个例子,如何在 alert 框里显示所有选中项。我们可以用上面的选择器代码找出所有选中项,然后我们在 alert 框中用 each() 方法来一个个打印它们,

$('[name=NameOfSelectedTag] :selected').each(

       function(selected){alert($(selected).text());

});

其中text()方法返回选项的文本。

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

$(this) 返回一个 jQuery 对象,你可以对它等等。而 this 代表当前元素,它是 JavaScript 关键词中的一个,表示上下文中的当前 DOM 元素。

你不能对它调用 jQuery 方法,直到它被()函数包裹,例如(this)。

6你如何利用jQuery来向一个元素中添加和移除CSS类?

通过利用 addClass() 和 removeClass() 这两个 jQuery 方法。动态的改变元素的class属性可以很简单例如. 使用类“.active"来标记它们的未激活和激活状态

.addClass("类名")   添加元素

.remove()删除样式类        

 hide   隐藏元素       

 show    显示

7 jQuery 里的 ID 选择器和 class 选择器有何不同?

如果你用过 CSS,你也许就知道 ID 选择器和 class 选择器之间的差异,jQuery 也同样如此。

ID 选择器使用 ID 来选择元素,比如 #element1,而 class 选择器使用 CSS class 来选择元素。

当你只需要选择一个元素时,使用 ID 选择器,而如果你想要选择一组具有相同 CSS class 的元素,就要用 class 选择器。

在面试过程中,你有很大几率会被要求使用 ID 选择器和 class 选择器来写代码。下面的 jQuery 代码使用了 ID 选择器和 class 选择器:

$(``#LoginTextBox``) 

$(``.active``)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 你在公司是怎么用jquery的? 答:在项目中是怎么用的是看看你有没有项目经验(根据自己的实际情况来回答) 你...
    山豆山豆阅读 12,747评论 0 43
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 5,222评论 0 2
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 4,913评论 0 1
  • 原文:Top 20 jQuery Interview Questions and Answers for Java...
    IT程序狮阅读 5,416评论 1 54
  • 2019.6.3星期一晴转阴 亲子日记第442天 大前天晚上邻居骑电动车带孩子出门,十五岁的孩子从电动车上摔了...
    爱腾睿阅读 3,118评论 5 5