048_jQuery

落日映苍穹つ 2023-08-17 15:28 37阅读 0赞

一,jQuery

1,jQuery 介绍

<1>,jQuery是一个轻量级的、兼容多浏览器的JavaScript库。

<2>,jQuery使用户能够更方便地处理HTML Document、Events、实现动画效果、方便地进行Ajax交互,能够极大地简化JavaScript编程。它的宗旨就是:“Write less, do more.“

前端的一个网站:http://www.bootcdn.cn/

2,jQuery 的优点

1,一款轻量级的JS框架。

  jQuery核心js文件才几十kb,不会影响页面加载速度。

2,丰富的DOM选择器。

  jQuery的选择器用起来很方便,比如要找到某个DOM对象的相邻元素,JS可能要写好几行代码,而3,jQuery一行代码就搞定了,再比如要将一个表格的隔行变色,jQuery也是一行代码搞定。

4,链式表达式。

  jQuery的链式操作可以把多个操作写在一行代码里,更加简洁。

5,事件、样式、动画支持。

  jQuery还简化了js操作css的代码,并且代码的可读性也比js要强。

6,Ajax操作支持。

  jQuery简化了AJAX操作,后端只需返回一个JSON格式的字符串就能完成与前端的通信。

7,跨浏览器兼容。

  jQuery基本兼容了现在主流的浏览器,不用再为浏览器的兼容问题而伤透脑筋。

8,插件扩展开发。

  jQuery有着丰富的第三方的插件,例如:树形菜单、日期控件、图片切换插件、弹出窗口等等基本前端页面上的组件都有对应插件,并且用jQuery插件做出来的效果很炫,并且可以根据自己需要去改写和封装插件,简单实用。

3,使用注意

3.1,因为是第三方模块,所以使用前一定要先导入在使用。导入要放在前面。

3.2,jQuery对象

  1>,jQuery对象就是通过jQuery包装DOM对象后产生的对象。jQuery对象是 jQuery独有的。

  2>,虽然 jQuery 对象是包装 DOM 后产生的,但是 jQuery 对象无法使用 DOM 的任何方法,同理 DOM 也没不能使用 jQuery 里的方法。

  3>,约定,在声明一个jQuery对象变量的时候在变量名前面加上$:

  1. var $variable = jQuery对像
  2. var variable = DOM对象
  3. $variable[0]//jQuery对象转成DOM对象

  4>,jQuery对象和DOM的使用:

  1. $("#i1").html();//jQuery对象可以使用jQuery的方法
  2. $("#i1")[0].innerHTML;// DOM对象使用DOM的方法

    5>,实例

1382009-20190910071419450-366019957.png

1382009-20190910072426577-113245551.png

二,jQuery基础语法

  $(selector).action()

1,查找标签

  1.1,基本选择器

    id 选择器

  1. $("#id")

    标签选择器

  1. $("tagName")

    class 选择器

  1. $(".className")

    配合使用

  1. $("div.c1") // 找到有c1 class类的div标签

    所有元素选择

  1. $("*")

    组合选择器

  1. $("#id, .className, tagName")

  1.2,层级选择器

    x 、y 可以为任意选择器

  1. $("x y") // x 的所有后代 y(子子孙孙)
  2. $("x > y") // x 的所有儿子 y(儿子)
  3. $("x + y") // 找到所有紧挨在 x 后面的 y
  4. $("x ~ y") // x 之后所有的兄弟 y

  1.3,属性选择器

  1. [attribute]
  2. [attribute=value] // 属性等于
  3. [attribute!=value] // 属性不等于

    例子:

  1. <input type="text">
  2. <input type="password">
  3. <input type="checkbox">
  4. $("input[type='checkbox']") // 取到checkbox类型的input标签
  5. $("input[type!='text']") // 取到类型不是text的input标签

 

三,筛选器方法

1,基本筛选器

  1. :first // 第一个
  2. :last // 最后一个
  3. :eq(index) // 索引等于index的那个元素
  4. :even // 匹配所有索引值为偶数的元素,从 0 开始计数
  5. :odd // 匹配所有索引值为奇数的元素,从 0 开始计数
  6. :gt(index) // 匹配所有大于给定索引值的元素
  7. :lt(index) // 匹配所有小于给定索引值的元素
  8. :not(元素选择器) // 移除所有满足not条件的标签
  9. :has(元素选择器) // 选取所有包含一个或多个标签在其内的标签
  10. //(指的是从后代元素找)

    例子:

  1. $("div:has(h1)") //找到所有后代中有h1标签的div标签
  2. $("div:has(.c1)") //找到所有后代中有c1样式类的div标签
  3. $("li:not(.c1)") //找到所有不包含c1样式类的li标签
  4. $("li:not(:has(a))") //找到所有后代中不含a标签的li标签

    实例:

1382009-20190910140851630-930314847.png

    练习:

    自定义模态框,使用jQuery实现弹出和隐藏功能

ContractedBlock.gif jQuery版自定义模态框

2,表单筛选器

  1. :text
  2. :password
  3. :file
  4. :radio
  5. :checkbox
  6. :submit
  7. :reset
  8. :button

    例子:

  1. $(":checkbox") // 找到所有的checkbox

    实例:

1382009-20190910172021910-1953343196.png

  1.2,表单对象属性:

  1. :enabled
  2. :disabled
  3. :checked
  4. :selected

    例子:

    找到可用的 input 标签

  1. <form>
  2. <input name="email" disabled="disabled" />
  3. <input name="id" />
  4. </form>
  5. $("input:enabled") // 找到可用的input标签

    找到被选中的 option

  1. <select id="s1">
  2. <option value="beijing">北京市</option>
  3. <option value="shanghai">上海市</option>
  4. <option selected value="guangzhou">广州市</option>
  5. <option value="shenzhen">深圳市</option>
  6. </select>
  7. $(":selected") // 找到所有被选中的option

 

3,下一个元素

  1. $("#id").next()
  2. $("#id").nextAll()
  3. $("#id").nextUntil("#i2")

4,上一个元素

  1. $("#id").prev()
  2. $("#id").prevAll()
  3. $("#id").prevUntil("#i2")

5,父亲元素

  1. $("#id").parent()
  2. $("#id").parents()
  3. // 查找当前元素的所有的父辈元素
  4. // 是链式的操作,结果是个列表,找的是当前标签的父标签,父标签的父标签直到html结束。
  5. $("#id").parents("body") //链式找父标签,直到body结束
  6. $("#id").parentsUntil("body")
  7. // 查找当前元素的所有的父辈元素,直到遇到匹配的那个元素为止

  1382009-20190911172804206-1404337977.png

6,儿子 和 兄弟 元素

  1. $("#id").children()// 儿子们
  2. $("#id").siblings()// 兄弟们

7,查找

  搜索所有与指定表达式匹配的元素。这个函数是找出,正在处理的元素的后代元素的好方法。

  1. $("div").find("p")
  2. // 等价于
  3. $("div p")

8,筛选

  筛选出与指定表达式匹配的元素集合。这个方法用于缩小匹配的范围。用逗号分隔多个表达式。

  1. $("div").filter(".c1") // 从结果集中过滤出有c1样式类的
  2. // 等价于
  3. $("div.c1")

9,补充

  1. .first() // 获取匹配的第一个元素
  2. .last() // 获取匹配的最后一个元素
  3. .not() // 从匹配元素的集合中删除与指定表达式匹配的元素
  4. .has() // 保留包含特定后代的元素,去掉那些不含有指定后代的元素。
  5. .eq() // 索引值等于指定值的元素

10,示例:左侧菜单

ContractedBlock.gif ExpandedBlockStart.gif

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="x-ua-compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <title>左侧菜单示例</title>
  8. <style>
  9. .left {
  10. position: fixed;
  11. left: 0;
  12. top: 0;
  13. width: 20%;
  14. height: 100%;
  15. background-color: rgb(47, 53, 61);
  16. }
  17. .right {
  18. width: 80%;
  19. height: 100%;
  20. }
  21. .menu {
  22. color: white;
  23. }
  24. .title {
  25. text-align: center;
  26. padding: 10px 15px;
  27. border-bottom: 1px solid #23282e;
  28. }
  29. .items {
  30. background-color: #181c20;
  31. }
  32. .item {
  33. padding: 5px 10px;
  34. border-bottom: 1px solid #23282e;
  35. }
  36. .hide {
  37. display: none;
  38. }
  39. </style>
  40. </head>
  41. <body>
  42. <div class="left">
  43. <div class="menu">
  44. <div class="title">菜单一</div>
  45. <div class="items">
  46. <div class="item">111</div>
  47. <div class="item">222</div>
  48. <div class="item">333</div>
  49. </div>
  50. <div class="title">菜单二</div>
  51. <div class="items hide">
  52. <div class="item">111</div>
  53. <div class="item">222</div>
  54. <div class="item">333</div>
  55. </div>
  56. <div class="title">菜单三</div>
  57. <div class="items hide">
  58. <div class="item">111</div>
  59. <div class="item">222</div>
  60. <div class="item">333</div>
  61. </div>
  62. </div>
  63. </div>
  64. <div class="right"></div>
  65. <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
  66. <script>
  67. $(".title").click(function (){ // jQuery绑定事件
  68. // 隐藏所有class里有.items的标签
  69. $(".items").addClass("hide"); //批量操作
  70. $(this).next().removeClass("hide");
  71. });
  72. </script>

左侧菜单

转载于:https://www.cnblogs.com/eternity-twinkle/p/11489562.html

发表评论

表情:
评论列表 (有 0 条评论,37人围观)

还没有评论,来说两句吧...

相关阅读

    相关 FM33A048B CRC

    概述 循环冗余校验(Cyclic Redundancy Check,CRC)是最为常用的计算机和仪表数据通信的校验方法,FM33A048B中CRC计算单元为完全独立模块,通

    相关 FM33A048B SPI0

    概述 SPI0 模块实现与外部SPI 接口器件之间的同步通信,硬件实现串并转换。主要特性如下: ⚫ 最高波特率支持到FAHBCLK/1 ⚫ 4 线工作方式:SCLK

    相关 FM33A048B LPUART

    概述 LPUART 是一个低功耗UART 接口,其工作仅需32768Hz 时钟,可以支持到最高9600 波特率的数据接收。LPUART 功耗极低,可以在Sleep/Deep

    相关 FM33A048B UART

    概述 UART串行通信模块特点如下 ⚫ 最高波特率可至230400(系统主频8MHz),波特率可软件配置 ⚫ 6路独立通道 ⚫ 全双工通信口 ⚫ UART具

    相关 FM33A048B复位

    复位 概述 复位电路特点: ⚫ 支持多个复位源,如上下电复位、看门狗复位、软件复位、引脚复位等 ⚫ 上下电复位(BOR)监控主电源供电 ⚫ BOR 上电复位

    相关 FM33A048B调试特性

    调试特性 处理器支持以下调试特性 ⚫ 程序的暂停、恢复及单步执行 ⚫ 访 问内核寄存器和特殊寄存器 ⚫ 硬件断点( 4 个) ⚫ 软件断点(不限数量的 BK

    相关 048_jQuery

    一,jQuery  1,jQuery 介绍 <1>,jQuery是一个轻量级的、兼容多浏览器的JavaScript库。 <2>,jQuery使用户能够更方便地处理HTML

    相关 L1-048. 矩阵A乘以B

    给定两个矩阵A和B,要求你计算它们的乘积矩阵AB。需要注意的是,只有规模匹配的矩阵才可以相乘。即若A有Ra行、Ca列,B有Rb行、Cb列,则只有Ca与Rb相等时,两个矩阵才能相