手把手带你快速入门jQuery(建议收藏!!!)

jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。

jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等

搭配视频效果更佳哦~~~

https://www.ixigua.com/6846624275877593611

jQuery 是一款跨主流浏览器的JavaScript 库,封装了JavaScript 相关方法调用,简化JavaScript 对HTML DOM 操作

官网地址: https://jquery.com/

官网首页jQuery 介绍:

原文翻译:

jQuery 是一个快速,小巧,功能丰富的JavaScript 库。 它通过易于使用的API 在大量浏览器中运行,使得HTML 文档遍历和操作,事件处理,动画和Ajax 变得更加简单。 通过多功能性和可扩展性的结合,jQuery 改变了数百万人编写JavaScript 的方式。

非常重要的理由就是:它能够兼容市面上主流的浏览器, IE 和FireFox, Google 浏览器处理 AJAX,创建异步对象是不同的,而jQuery 能够使用一种方式在不同的浏览器创建AJAX 异步对象。

其他优点:

(1) 写少代码,做多事情【write less do more】

(2) 免费,开源且轻量级的js 库,容量很小

(3) 兼容市面上主流浏览器,例如 IE,Firefox,Chrome

(4) 能够处理HTML/JSP/XML、CSS、DOM、事件、实现动画效果, 也能提供异步AJAX 功能

(5) 文档手册很全,很详细

(6) 成熟的插件可供选择,多种js 组件,例如日历组件(点击按钮显示下来日期)

(7) 出错后,有一定的提示信息

(8) 不用再在html 里面通过<script>标签插入一大堆 js 来调用命令了

例如:使用JavaScript 定位DOM 对象常用的三种方式:

(1) 通过ID 属性:document.getElementById()

(2) 通过 class 属性:getElementsByClassName()

(3) 通过标签名:document.getElementsByTagName()

上面代码可以看出JavaScript 方法名太长了,大小写的组合太多了,编写代码效率,容易出错。jQuery 分别使用$(“#id”) , $(“.class 名”) , $(“标签名) 封装了上面的 js 方法。

文档对象模型(Document Object Model,简称 DOM),是 W3C 组织推荐的处理可扩展标志语言的标准编程接口。

通过 DOM 对 HTML 页面的解析,可以将页面元素解析为元素节点、属性节点和文本节点,这些解析出的节点对象,即 DOM 对象。DOM 对象可以使用 JavaScript 中的方法。

官网下载地址:https://jquery.com/download/

jQuery 的不同版本中,2.xx 不再支持 IE6/7/8 浏览器。现阶段IE6/7/8 已经是淘汰的,非主流。可以不用考虑兼容问题。

对于每一个同一版本号的 jQuery,其库又分为两个。一个是未压缩版,可查看源码,开发时使用;一个是压缩版,将注释、空格均做了删除,将变量字符数减少,产品上线时使用。

编写jQuery 的工具很多,能编写HTML 的工具都支持jQuery. 例如记事本 ,EditPlus, webStorm, Visual Studio Code , HBuilder , HBuilderX , IDEA.

单独学习jQuery 库使用,可以轻量的开发工具,例如EditPlus ,HBuilder,HbuilderX

编写项目可以使用集成开发工具,例如在IDEA, Eclipse ,MyEclipse ,WebStorm 等

第一个例子完成:浏览器完全装载html 页面 DOM 后,显示一个提示信息框

实现步骤:

1. 使用HBuilder 或HbuilderX, idea 都可以,以HbuilderX 为工具,创建一个项目(名称:jquery-course),给项目选择一个文件存放目录。

2. 在项目中再创建一个目录

右键项目名称—新建—目录,常用名称为 js

3. 拷贝下载的jQuery.js 文件到目录

4. 使用 jQuery,首先要将 jQuery 库引入。使用如下语句:

<script type=\”text/javascript\” src=\”js/jquery-3.4.1.js\”></script>

5. $(document),将 DOM 对象 document 转换为jQuery 对象。

$(document).ready()函数是当 DOM 对象加载完毕后,马上执行的函数。

$(document).ready()与$()、jQuery()、window.jQuery()是等价的,所以

$(document).ready()可以写成 $(function() { alert(“Hello jQuery”) } );

6. 完整代码

DOM 对象是用JavaScript 语法创建的对象,也看做是 js 对象。

使用$(DOM 对象) 方式,可以 DOM 对象转换为 jQuery 对象, 转换为jQuery 对象才可以使用jQuery 中的提供的方法,操作DOM 对象。一般情况下,在命名 jQuery 对象时,为了与 DOM 对象进行区分,习惯性的以$ 开头,这不是必须的。

例:新建html 页面文件 domTojQuery.html

1. 页面加入按钮 button

2. 转换 DOM 对象

jQuery 对象本身为数组对象,该数组中的第 0 个元素即为该 jQuery 对象对应 的 DOM

对象。所以有两种方式可以获取到 DOM 对象:get(0) 方式与下标[0]

例:新建html 文件 jQueryToDom.html

1. 页面添加 text ,button

2. jQuery 对象.get(0) 或 jQuery 对象[0] 均可完成 jQuery 对象转 DOM对象

选择器: 就是定位条件;通知jquery 函数定位满足条件的DOM 对象

根据ID,class 属性,标签类型名定位HTML 元素,转为jQuery 对象.

1. id 选择器

语法:$(“#id”)

2. class 选择器

语法:$(“.class 名称”)

3. 标签选择器

语法:$(“标签名”)

例:新建selector.html

1. 在页面 head 部分加入 css

2. 加入 jQuery 引用

3.body 部分定义div

4.创建 js 函数

4. 所有选择器

语法:$(“*”) 选取页面中所有DOM 对象。

5. 组合选择器

组合选择器是多个被选对象间使用逗号分隔后形成的选择器,可以组合 id, class,标签名等。

语法:$(“#id, .class, 标签名”)

例:

1. 上面的 selector.html 页面中加入按钮

2. 增加 js 函数

表单相关元素选择器是指文本框、单选框、复选框、下拉列表等元素的选择方式。该方法无论是否存在表单<form>,均可做出相应选择。表单选择器是为了能更加容易地操作表单,表单选择器是根据元素类型来定义的

<input type=\”text\”>

<input type=\”password\”>

<input type=\”radio\”>

<input type=\”checkbox\”>

<input type=\”button\”>

<input type=\”file\”>

<input type=\”submit\”>

<input type=\”reset\”>

$(\”:tr\”): 不能用,tr 不是input 标签语法: $(\”:type 属性值\”)

例如:

$(\”:text\”)选取所有的单行文本框

$(\”:password\”)选取所有的密码框

$(\”:radio\”)选取所有的单选框

$(\”:checkbox\”)选取所有的多选框

例:

新建form.html 页面定义元素:

定义 js 函数:

jQuery 对象中存储的DOM对象顺序与页面标签声明位置关系

<div>1</div> dom1

<div>2</div> dom2

<div>3</div> dom3

$(\”div\”) == [dom1,dom2,dom3]

过滤器就是过滤条件,对已经定位到数组中DOM 对象进行过滤筛选,过滤条件不能独立出现在jquery 函数,如果使用只能出现在选择器后方。

1. 选择第一个first, 保留数组中第一个DOM 对象

语法:$(“选择器:first”)

2. 选择最后个last, 保留数组中最后DOM 对象

语法:$(\”选择器:last\”)

3. 选择数组中指定对象

语法:$(“选择器:eq(数组索引)”)

4. 选择数组中小于指定索引的所有DOM 对象

语法:$(“选择器:lt(数组索引)”)

5. 选择数组中大于指定索引的所有DOM 对象

语法:$(“选择器:gt(数组索引)”)

1.定义样式

2. 页面加入div

3. 定义js 函数

1. 选择可用的文本框

$(“:text:enabled”)

2. 选择不可用的文本框

$(“:text:disabled”)

3. 复选框选中的元素

$(“:checkbox:checked”)

4. 选择指定下拉列表的被选中元素

选择器>option:selected

例:

创建filterForm.html 页面:

js 函数

jQuery基础回顾——jQuery与Ajax应用

Ajax全称为“Asynchronous JavaScript XML”(异步javaScript和XML),它并不是指一种单一的技术,而是有机地利用了一系列交互式网页应用相关的技术所形成的结合体。

  • 不需要插件的支持

Ajax不需要任何浏览器插件,就可以被绝大多数主流浏览器所支持,用户只需要允许javaScript在浏览器上执行即可。

  • 优秀的用户体验

这是Ajax技术的最大优点,能在不刷新整个页面的前提下更新数据,这使得Web应用程序能更为迅速地回应用户的操作。

  • 提高Web程序的性能

与传统模式相比,Ajax模式在性能上的最大区别就在于传输数据的方式,在传统模式中,数据提交时通过表单(Form)来实现的,而数据获取是靠全页面刷新来重新获取整页的内容,Ajax模式只是通过XMLHttpRequest对象向服务器提交希望提交的数据,即按需发送。

  • 减轻服务器和宽带的负担

Ajax的工作原理相当于在用户和服务器之间加了一个中间层,使用户操作与服务器响应异步化,它在客户端创建Ajax引擎,把传统方式下的一些服务器负担的工作转移到客户端,便于客户端资源来处理,减轻服务器和宽带的负担。

Ajax的核心是XMLHttpRequest对象,它是Ajax实现的关键——发送异步请求、接收响应及执行回调都是通过它来完成的。XMLHttpRequest对象最早是在Microsoft Internet Explorer 5.0 ActiveX组件中被引入的,之后各大浏览器厂商都以javaScript内置对象的方式来实现XMLHttpRequest对象,虽然大家对它的实现方式有所区别,但是绝大多数浏览器都提供了类似的属性和方法,而且在实际脚本编写方法上的区别也不大,实现的到的效果也基本相同。

jQuery对Ajax操作进行了封装,在jQuery中$.ajax()方法属于最底层的方法,第2层是load()、$.get()和$.post()方法,第3层是$.getScript()和$.getJSON()方法。

1、load()方法

  • 远程载入HTML文件

load()方法是jQuery中最为简单和常用的Ajax方法,能载入远程HTML代码并插入到DOM中,它的结构为:

url:待装入 HTML 网页网址。

data:发送至服务器的 key/value 数据。在jQuery 1.3中也可以接受一个字符串了。

callback:载入成功时回调函数。

等DOM元素加载完毕后,通过单击id为“send”的按钮来调用load()方法,然后将test.html的内容加载到id为“resText”的元素里。

显然,load()方法完成了原本很繁琐的工作,开发人员只需要使用jQuery选择器为HTML片段指定目标位置,然后将要要加载的文件的URL作为参数传递给load()方法即可,当单击按钮后,test.html页面的HTML内容就会被加载并插入对应元素中。

  • 筛选载入的HTML文件

上个例子是将test.html页面中的内容都加载到id为“resText”的元素里,如果只需要加载test.html页面内的某些元素,那么可以使用load()方法的URL参数来达到目的,通过为URL参数指定选择符,就可以很方便地从加载过来的HTML文档里筛选出所需要的内容。

load()方法的URL参数的语法结构为“url selector”,注意,URL和选择器之间有一个空格,例如只需要加载test.html页面中class为“para”的内容,可以使用如下代码来完成:

  • 传递方式

load()方法的传递方式根据参数data来自动指定,如果没有参数传递,则采用GET方式,反之,则会自动转换为POST方式。

  • 回调参数

对于必须在加载完成后才能继续的操作,load()方法提供了回调函数(callback),该函数有3个参数,分别代表请求返回的内容、请求状态和XMLHttpRequest对象,jQuery代码如下:

2、$.get()方法和$.post()方法

load()方法通常用来从Web服务器上获取静态的数据文件,然而这并不能体现Ajax的全部价值,在项目中,如果需要传递一些参数给服务器中的页面,那么可以使用$.get()或者$.post()方法(或$.ajax()方法)。

  • $.get()

url:待载入页面的URL地址

data:待发送 Key/value 参数。

callback:载入成功时回调函数。

type:返回内容格式,xml, html, script, json, text, _default。

示例代码如下:

这是一个简单的 GET 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。

  • $.post()

它与$.get()方法的结构和使用方式都相同,不过它们之间仍然有以下区别。

  1. GET请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体内容发送给Web服务器,当然,在Ajax请求中,这种区别对用户是不可见的。
  2. GET方式对传输的数据有大小限制(通常不能大于2KB),而是用POST方式传递的数据量要比GET方式大得多(理论上不会受限制)。
  3. GET方式请求的数据会被浏览器缓存起来,因此其他人就可以从浏览器的历史记录中读取到这些数据,例如账号和密码等,在某种情况下,GET方式会带来严重的安全性问题,而POST方式相对来说就可以避免这些问题。
  4. GET方式和POST方式传递的数据在服务器端的获取也不相同,在jsp中,GET方式的数据可以用Request.QueryString获取,而POST方式可以用Request.Form获取。

上面使用load()、$.get()和$.post()方法完成了一些常规的Ajax程序,如果还需要编写一些复杂的Ajax程序,那么就要用到jQuery中的$.ajax()方法,$.ajax()方法不仅能实现与load()、$.get()和$.post()方法同样的功能,而且还可以设beforeSend(提交前回调函数)、error(请求失败后处理)、success(请求成功后处理)以及complete(请求完成后处理)回调函数,通过这些回调函数,可以给用户更多的Ajax提示信息,另外,还有一些参数,可以设置Ajax请求的超时时间状态等。

3、$.ajax()方法

$.ajax()方法是jQuery最底层的Ajax实现,它的结构为:

url:一个用来包含发送请求的URL字符串。

settings:AJAX 请求设置。所有选项都是可选的。

settings选项1

settings选项2

若感觉对您有用,可以关注并转发,您的关注是对我莫大的支持!

上一节:

基于 Python 开发的在线文档系统

MarkDown 编辑,快速书写;类 Gitbook,简洁阅读;后台管理。

州的先生(zmister.com)自用并完全开源、基于 Python 编写的文档写作系统。

MrDoc 拥有以下特点:

  • 站点与用户系统简洁 基于Django自带的用户模型,实现简单高效的用户管理,支持用户注册、用户登录、管理员等控制等功能; 支持全站关闭注册; 支持注册邀请码配置; 支持广告位自定义配置; 支持统计代码自定义配置;
  • 文档系统清晰 基于文集的文档撰写和阅读; 基于Editormd的Markdown编辑器,支持Markdown语法的文档写作,支持图片粘贴上传,支持从本地MD文件中插入内容; 提供文档模板功能,支持文档模板的创建、修改; 仿GitBook文档阅读页面,支持文档阅读页面的字体缩放,字体类型修改,页面社交分享,良好的移动端阅读体验; 支持三级目录层级显示; 支持文集后台导出为markdown文本格式.md文件、前台导出为EPUB电子书; 基于文集进行权限控制,提供公开、私密、指定用户可见、访问码可见4种权限模式;
  • 二次开发方便 使用Django传统的MTV开发模式,路由、视图函数、模型易于理解; 使用非前端工程化构建前端页面,主要使用Layui进行页面布局和展示,方便改动;

在开发过程中,参考和借鉴了GitBook、ShowDoc、Wordbook等应用和网站的功能与样式。

  • 编程语言:Python 3
  • 后端Web框架:Django 2
  • 前端UI库:Layui 2.5.6
  • JS库:Jquery3.3
  • MarkDown编辑器:Editormd
  • 页面社交分享:Share.js
  • Markdown科学公式:Katex.js

项目地址:https://gitee.com/zmister/MrDoc

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。