1. jQuery库中的$()是什么?
答:$()就是jQuery(),在里面可以传参数,作用就是获取元素。$()函数用于将任何对象包裹成jQuery对象,允许你调用定义在jQuery对象上的多个不同的方法。
2. jQuery能做什么?
答:获取页面的元素;修改页面的外观;改变页面大的内容;响应用户的页面操作;为页面添加动态效果;无需刷新页面,即可以从服务器获取信息;简化常见的javascript任务。
3. jQuery的特点都有什么?
答:jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的CSS选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。
4. $(document).ready()是个什么函数?为什么要用它?
答:ready()函数用于在文档进入ready状态时执行代码。当DOM 完全加载(例如HTML被完全解析,DOM树构建完成时),jQuery允许你执行代码。使用$(document).ready()的最大好处在于它适用于所有浏览器,帮你解决了跨浏览器的难题。
5. JavaScript的window.onload事件和jQuery的ready函数有何不同?
答:
(1)window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行,$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕
(2)window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个,$(document).ready()可以同时编写多个,并且都可以得到
(3)执行window.onload没有简化写法,$(document).ready(function(){})可以简写成$(function(){})
6. jQuery里的ID选择器和class选择器有何不同?
答:ID选择器使用ID来选择元素,例:$("#idtest1"), 而class选择器使用CSS class来选择元素,例:$(".classtest1")。当只需要选择一个元素时,使用ID选择器,如果需要选择具有相同 CSS class的元素,就要用class 选择器。
7. 说出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)取得第一个匹配元素的属性值。
8. 你是如何将一个HTML元素添加到DOM树中的?
答:可以用jQuery方法appendTo()将一个HTML元素添加到DOM树中。这是jQuery提供的众多操控DOM的方法中的一个。可以通过 appendTo()方法在指定的DOM元素末尾添加一个现存的元素或者一个新的HTML元素。
9. jQuery中detach()和remove()方法的区别是什么?
答:detach():移除被选元素,包括所有文本和子节点。会保留所有绑定的事件、附加的数据。
remove():移除被选元素,包括所有文本和子节点。绑定的事件、附加的数据等都会被移除。
10. $(this)和this关键字在jQuery中有何不同?
答:$(this)返回一个jQuery对象,你可以对它调用多个jQuery方法,比如用text()获取文本,用val()获取值等等。而this代表当前元素,它是JavaScript关键词中的一个,表示上下文中的当前DOM元素,你不能对它调用jQuery方法,直到它被$()函数包裹,例如$(this)。
11. jQuery里的each()是什么函数?你是如何使用它的?
答:each()函数允许你遍历一个元素集合。你可以传一个函数给each()方法,被调用的jQuery对象会在其每个元素上执行传入的函数。有时这个问题会紧接着上面一个问题,举个例子,如何在 alert 框里显示所有选中项。我们可以用上面的选择器代码找出所有选中项,然后我们在alert框中用 each()方法来一个个打印它们,代码如下:
$('[name=NameOfSelectedTag] :selected').each(function(selected) {
alert($(selected).text());
});
其中text() 方法返回选项的文本。
12. 你如何利用jQuery来向一个元素中添加和移除CSS类?
答:通过利用addClass()和removeClass()这两个jQuery方法,动态的改变元素的class属性。例如:使用类“.active"来标记它们的未激活和激活状态。