JQuery

274 阅读2分钟

一、JQery

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

ready() 函数用于在文档进入 ready 状态时执行代码。当 DOM 完全加载(例如 HTML 被完全解析 DOM 树构建完成时),jQuery 允许你执行代码。\

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

2. 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 事件要更好些。

3. jQuery 库中的 $() 是什么?

$()函数是 jQuery() 函数的别称,$() 函数用于将任何对象包裹成 jQuery 对象 接着你就被允许调用定义在 jQuery 对象上的多个不同方法。你甚至可以将一个选择器字符串 传入 $() 函数,它会返回一个包含所有匹配的 DOM 元素数组的 jQuery 对象。

4. jQuery 选择器

jQuery 支持不同类型的选择器,例如 ID 选择器、class 选择器、标签选择器 用标签选择器来选择所有的 div 元素。jQuery 代码:$(“div”),这样会返回一个包含 所有 5 个 div 标签的 jQuery 对象。

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

当你只需要选择一个元素时,使用 ID 选择器,$('#LoginTextBox')
而如果你想要选择一组具有相同 CSS class 的元素,就要用 class 选择器。
前者用字符 '#' , 而后者用字符 '.', $('.active')

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

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

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

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

8. 你是如何将一个 HTML 元素添加到 DOM 树中的

appendTo() 将一个 HTML 元素添加到 DOM 树中

9. 用 jQuery 代码选择所有在段落内部的超链接吗

$(‘p a’);找出当前p下所有a标签(如果当前p包含其他标签且其他标签中也包含a也会查找出来)
$(‘p>a’) 仅找出当前p下的a标签

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

each() 函数就像是 Java 里的一个 Iterator,它允许你遍历一个元素集合。你可以传一个函数给 each() 方法, 被调用的 jQuery 对象会在其每个元素上执行传入的函数。有时这个问题会紧接着上面一个问题,举个例子, 如何在 alert 框里显示所有选中项。 我们可以用上面的选择器代码找出所有选中项, 然后我们在 alert 框中用 each() 方法来一个个打印它们,代码如下

var myArray = ["apple", "mango", "orange", "grapes", "banana"];

$.each(myArray, function (index, value) {
     console.log(index+' : '+value);
});

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

1.$(this) 返回一个 jQuery 对象,你可以对它调用多个 jQuery 方法, 比如用 text() 获取文本,用val() 获取值等等。

2.而 this 代表当前元素,它是 JavaScript 关键词中的一个,表示上下文中的当前 DOM 元素。你不能对它调用 jQuery 方法,直到它被 ()函数包裹,例如() 函数包裹,例如 (this)。