jquery面试题の1

问题1:jQuery的美元符号$有什么作用?

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

$(document).ready(function(){

});

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

jQuery(document).ready(function(){

});

问题2:body中的onload()函数和jQuery中的document.ready()有什么区别?

  回答:onload()和document.ready()的区别有以下两点:1、我们可以在页面中使用多个document.ready(),但只能使用一次onload()。2、document.ready()函数在页面DOM元素加载完以后就会被调用,而onload()函数则要在所有的关联资源(包括图像、音频)加载完毕后才会调用。


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


问题3:jQuery中的Delegate()函数有什么作用?

  delegate是另一种绑定事件的方式。它将事件处理函数绑定在指定的根元素上, 由于事件会冒泡1,它用来处理指定的子元素上的事件。

.delegate():Attach a handler to one or more events for all elements that match the selector, now or in the future, based on a specific set of root elements.

它的使用方式比bind稍显复杂,但它的功能非常强大:

自动绑定动态添加的元素。因为事件处理函数绑定在#root上,新加的子元素事件也会冒泡到#root。
性能好于.bind()。只绑定一个事件处理函数,绑定速度相当快。


问题4. 如何找到所有 HTML select 标签的选中项?

这是面试里比较棘手的 jQuery 问题之一。这是个基础的问题,但是别期望每个 jQuery 初学者都知道它。你能用下面的 jQuery 选择器获取所有具备 multiple=true 的