问题 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 的 <select > 标签的选中项:
$("name='nameOfSelected':selected")
问题 5. $(this) 和 this 关键字在 jQuery 中有何不同?
这对于很多 jQuery 初学者来说是一个辣手的问题,其实是个简略的问题。$(this) 返回一个 jQuery 对象,你能够对它调用多个 jQuery 办法,比方用 text() 获取文本,用 val() 获取值等等。而 this 代表以后元素,它是 JavaScript 关键词中的一个,示意上下文中的以后 DOM 元素。你不能对它调用 jQuery 办法,直到它被 $() 函数包裹,例如 $(this)。
问题 6. 你要是在一个 jQuery 事件处理程序里返回了 false 会怎么?
这通常用于阻止事件向上冒泡。
- JS 中事件冒泡与捕捉 ↩