美文网首页
# jQuery入门

# jQuery入门

作者: 杨健kimyeung | 来源:发表于2020-07-18 14:42 被阅读0次

一、什么是jQuery

jQuery是一个非常流行的快速、小巧、功能强大的开源JavaScript库。就像官方所宣称的那样——"Write less,do more",它使得我们常用的HTML文档遍历、DOM操作、事件处理、动画效果、Ajax、工具方法等功能代码的实现变得非常简单。更重要的是,它还为我们做了跨浏览器的兼容。绝大多数时候,妈妈再也不用担心我的JS兼容问题了(由于浏览器bug等因素,jQuery也无法100%地实现跨浏览器兼容,官方对这些少数API一般也作了特殊说明,而且这种情况极少遇到,因此可以忽略不计)。

一般而言,需要编写几十行甚至更多的原生JS代码才能实现的功能;使用jQuery,只需要简单的几行甚至一行代码就可以搞定。此外,jQuery还具有灵活的插件扩展机制,这允许第三方人员开发基于jQuery的插件,甚至你也可以快速地编写一个自己的插件。这极大地提高了前端开发人员的开发效率。因此,谷歌、微软、IBM、Facebook等全世界前10000名的网站中有65%以上都使用了jQuery,其它数以百万计的网站也都在使用jQuery

二、jQuery的优势

  1. 轻量级、体积小,使用灵巧(只需引入一个js文件)

  2. 强大的选择器

  3. 出色的DOM操作的封装

  4. 出色的浏览器兼容性

  5. 可靠的事件处理机制

  6. 完善的Ajax

  7. 链式操作、隐式迭代方便的选择页面元素(模仿CSS选择器更精确、灵活)

  8. 动态更改页面样式/页面内容(操作DOM,动态添加、移除样式)

  9. 控制响应事件(动态添加响应事件)

  10. 提供基本网页特效(提供已封装的网页特效方法)

  11. 快速实现通信(ajax)

  12. 易扩展、插件丰富

三、如何使用

1、下载

  1. 官方下载地址

    production jQuery x.x.x 上线版,压缩过 development jQuery x.x.x 开发版,能看源码

2、其他库替代

  1. Google 和 Microsoft 对 jQuery 的支持都很好。如果您不愿意在自己的计算机上存放 jQuery 库,那么可以从 Google 或 Microsoft 加载 CDN jQuery 核心文件。使用 Google 的 CDN

  2. 使用 Microsoft 的 CDN

    <pre spellcheck="false" class="md-fences md-end-block ty-contain-cm modeLoaded" lang="" cid="n44" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; margin-top: 0px; margin-bottom: 20px; font-size: 0.9rem; display: block; break-inside: avoid; text-align: left; white-space: normal; background: rgb(51, 51, 51); position: relative !important; padding: 10px 10px 10px 30px; width: inherit;"><script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.2.1.min.js"></script>
    <head>
    <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery
    /jquery-1.4.min.js"></script>
    </head>
    ​</pre>

  3. 国内的

    <pre spellcheck="false" class="md-fences md-end-block ty-contain-cm modeLoaded" lang="" cid="n47" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; margin-top: 0px; margin-bottom: 20px; font-size: 0.9rem; display: block; break-inside: avoid; text-align: left; white-space: normal; background: rgb(51, 51, 51); position: relative !important; padding: 10px 10px 10px 30px; width: inherit;"> 百度
    新浪
    ​</pre>

  4. 示例代码

    <pre spellcheck="false" class="md-fences md-end-block ty-contain-cm modeLoaded" lang="" cid="n50" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; margin-top: 0px; margin-bottom: 20px; font-size: 0.9rem; display: block; break-inside: avoid; text-align: left; white-space: normal; background: rgb(51, 51, 51); position: relative !important; padding: 10px 10px 10px 30px; width: inherit;">
    <script src="//code.jquery.com/jquery-x.x.x.js" type="text/javascript"></script>

    <script type="text/javascript">
    // 以下代码将把id为username的元素的value值改为"Hello CodePlayer!"。
    jQuery("#username").val("Hello CodePlayer!");
    </script>
    ​</pre>

四、如何选择jQuery版本

  1. 1.x

    自jQuery 1.0 发布以来,已经过多次更新,其中增加了许多新的属性和方法,同时也移除了少数过时的属性和方法。目前最新的 1.x 版本为 1.12.4。

  2. 2.x (支持IE9以及IE9+)

    jQuery还有 2.x 版本(当前最新版本为 2.2.4),它的API与 1.x 相同,但jQuery 2.x 不再支持IE 6 ~ IE 8。如果你希望兼容IE 6 ~ IE 8,推荐使用 1.x。

  3. 3.x版本 (不在支持 ie9)

    3.1 桌面浏览器

    Chrome: (Current - 1) and Current Edge: (Current - 1) and Current Firefox: (Current - 1) and Current Internet Explorer: 9+ Safari: (Current - 1) and Current Opera: Current

    3.2 移动端

    Stock browser on Android 4.0+ Safari on iOS 7+

  4. 一般建议

    使用最新版本的jQuery。如果你需要使用某个已经被移除的属性或方法,你可以使用包含该属性或方法的jQuery版本

五、ready() 函数(准备就绪时执行代码)

  1. 如果我们在<head>中引入jQuery库文件,并编写相应的jQuery代码来操作DOM元素。这很可能导致操作无法成功,因为此时<body>内的元素可能还没有加载出来,也就获取不到对应的元素。因此,我们一般会将自己的jQuery代码写在ready()事件函数中。ready()函数的作用相当于window.onload,它用于在当前文档加载准备就绪后执行对应的函数

    <pre spellcheck="false" class="md-fences md-end-block ty-contain-cm modeLoaded" lang="" cid="n76" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; margin-top: 0px; margin-bottom: 20px; font-size: 0.9rem; display: block; break-inside: avoid; text-align: left; white-space: normal; background: rgb(51, 51, 51); position: relative !important; padding: 10px 10px 10px 30px; width: inherit;">(document).ready(function(){ // DOM准备就绪后执行的代码 }); 简写(function(){
    //在DOM准备就绪后执行的代码
    } );
    ​</pre>

  2. jQuery的ready()函数可以重复调用,绑定的回调函数将在DOM准备就绪后按照绑定顺序依次执行。此外,ready()window.onload并不兼容,因此不要混合使用

    <pre spellcheck="false" class="md-fences md-end-block ty-contain-cm modeLoaded" lang="" cid="n79" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; margin-top: 0px; margin-bottom: 20px; font-size: 0.9rem; display: block; break-inside: avoid; text-align: left; white-space: normal; background: rgb(51, 51, 51); position: relative !important; padding: 10px 10px 10px 30px; width: inherit;">(function () { console.log("第一次ready()"); }); ​(function () {
    console.log("第二次ready()");
    })
    ​</pre>

  3. onload和JQuery中ready方法的区别

    • 执行时机:onload事件必须等页面完全加载完毕后才能执行;ready当页面节点加载完毕后就可以执行。比onload要早一点
    • 添加个数:onload事件只能添加一个,如果添加了多个,则最后执行的onload事件会覆盖前边的事件;ready事件可以添加多个,且互相之间不会覆盖。(onload事件和ready时间之间也不会互相覆盖)
    • 简化写法:onload没有简化写法;ready事件可以简化为:$(function(){});
  4. 建议

    js文件和内嵌的js代码一般不建议放在<head>标签中,而应该放在内容主体的结束标签</body>之前。从而让浏览器先加载页面内容,然后再加载并解析执行js代码。这样可以让网速较慢的用户能够更快地看到页面的展示内容,提高用户体验

  5. 命名冲突解决

    1. jQuery 使用 $ 符号作为 jQuery 的简介方式;
    1. 某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号;
    1. jQuery 使用名为 noConflict() 的方法来解决该问题;
    1. var jq=jQuery.noConflict() ,帮助您使用自己的名称(比如 jq)来代替 $ 符号

六、jQuery框架核心功能

  1. 操作DOM对象

  2. 动态操作样式css

  3. 数据访问

  4. 控制响应事件等

七、初学JQuery最容易混淆的几个概念

  1. jQuery对象不等于dom对象

  2. jQuery对象与dom对象之间的转换

  3. jQuery的ready 不等于JavaScript的 load

相关文章

  • jQuery入门及选择器篇

    1、jQuery入门 1.1、什么是jQuery? jQuery是一个JavaScript函数库。jQuery是一...

  • Web前端JQuery入门实战案例

    前端jquery入门到实战 为什么要学习Jquery?因为生活。 案例: 使用jquery案例: jquery 快...

  • jQuery Mobile入门

    jQuery Mobile入门 下载 http://jquerymobile.com/ 什么是jQuery Mob...

  • JQuery 操作手册

    1-1主要内容 1、快速入门2、JQuery概念3、JQuery选择器4、JQuery动画5、JQuery DOM...

  • JQuery

    JQuery 基础:概念快速入门JQuery对象和JS对象区别与转换选择器DOM操作案例 JQuery 基础: 概...

  • java基础-day59-Jquery

    jQuery入门 1)了解jQuery的背景和特点2)理解js对象和jQuery对象的区别 4)js对象和jQue...

  • jQuery进阶

    前言: 在《jQuery入门》一文中,记录了jQuery选择器、属性与样式和DOM操作等内容,本文将对jQuery...

  • JQuery 和CSS 选择器对比

    学习前端大名鼎鼎的JQuery,入门肯定都是学习JQuery的选择器,大多数教程都会说JQuery能使用CSS的选...

  • jQuery 简介

    本教程我们来学习 JQuery 的基础入门知识。JQuery 是一个快速、简洁的 JavaScript 框架,是继...

  • jQuery 简介

    本教程我们来学习 JQuery 的基础入门知识。JQuery 是一个快速、简洁的 JavaScript 框架,是继...

网友评论

      本文标题:# jQuery入门

      本文链接:https://www.haomeiwen.com/subject/ddtfkktx.html