jQuery知识框架

一、jQuery 基础

  1. 核心概念

    • $ 或 jQuery:全局函数,用于选择元素或创建DOM对象。

    • 链式调用:多数方法返回jQuery对象,支持连续操作。

    • 文档就绪事件

      $(document).ready(function() { /* 代码 */ });
      // 简写
      $(function() { /* 代码 */ });

  2. 选择器

    • 基础选择器

      • $("#id")$(".class")$("tag")$("*")(通配符)。

    • 层级选择器

      • $("parent > child")(子元素)、$("ancestor descendant")(后代)。

    • 过滤选择器

      • :first:last:even:odd:eq(index):not(selector)

    • 属性选择器

      • $("[attr]")$("[attr='value']")

  3. DOM 遍历

    • 向上查找parent()parents()closest(selector)

    • 同级查找siblings()next()prev()nextAll()

    • 向下查找children()find(selector)


二、DOM 操作

  1. 内容操作

    • 获取/设置文本:text()text("new text")

    • 获取/设置HTML:html()html("<b>new html</b>")

    • 表单值:val()val("new value")

  2. 属性与CSS

    • 属性操作:

      • attr("name")attr("name", "value")

      • removeAttr("name")

    • CSS操作:

      • css("property")css("property", "value")

      • 添加/移除类:addClass()removeClass()toggleClass()

  3. 节点操作

    • 创建元素:$("<div>New Element</div>")

    • 插入元素:

      • append()prepend()(内部插入)。

      • after()before()(外部插入)。

    • 删除元素:remove()empty()


三、事件处理

  1. 事件绑定

    • 简写方法:click()hover()submit()

    • 通用方法:on("event", handler)(推荐统一使用)。

      $("#btn").on("click", function() { alert("Clicked!"); });
    • 事件解绑:off("event")

  2. 事件委托

    • 动态元素事件绑定:

      $("#parent").on("click", ".child", function() { /* 逻辑 */ });
  3. 常用事件

    • 鼠标事件:clickdblclickmouseentermouseleave

    • 键盘事件:keypresskeyupkeydown

    • 表单事件:submitchangefocusblur


四、动画与效果

  1. 基础动画

    • 显示/隐藏:show()hide()toggle()

    • 淡入淡出:fadeIn()fadeOut()fadeToggle()

    • 滑动效果:slideDown()slideUp()slideToggle()

  2. 自定义动画

    • animate() 方法:

      $("#box").animate({ opacity: 0.5, left: "+=50px" 
      }, 1000);
    • 停止动画:stop()delay()


五、AJAX 与工具方法

  1. AJAX 请求

    • $.ajax()(底层方法):

      $.ajax({url: "api/data",method: "GET",success: function(data) { console.log(data); }
      });
    • 简写方法:

      • $.get(url, callback)$.post(url, data, callback)

      • $.getJSON(url, callback)

  2. 工具函数

    • 数组/对象操作:

      • $.each(array, function(index, value) {})

      • $.extend()(合并对象)。

    • 类型判断:

      • $.isArray()$.isFunction()


六、插件与扩展

  1. 使用插件

    • 引入jQuery插件(如 jQuery UIDataTables):

      <script src="jquery.plugin.js"></script>
  2. 编写插件

    • 扩展jQuery方法:

      (function($) {$.fn.myPlugin = function(options) {// 插件逻辑};
      })(jQuery);

七、性能优化

  1. 选择器优化

    • 缓存jQuery对象:var $el = $("#element");

    • 避免过度嵌套选择器(如 $("div ul li a"))。

  2. 事件优化

    • 使用事件委托代替重复绑定。

    • 移除无用事件监听(off())。

  3. 链式调用

    • 减少DOM查询次数:

      $("#box").css("color", "red").slideDown().fadeIn();

八、兼容性与现代替代

  1. jQuery 与原生JS

    • 对比示例:

      • $("#id") → document.getElementById("id")

      • $.ajax → fetch API。

  2. 现代替代方案

    • 原生JS + querySelector

    • 前端框架(React/Vue)的组件化开发。


学习建议

  1. 快速上手:从DOM操作和事件处理开始实践。

  2. 官方文档:jQuery API。

  3. 逐步过渡:理解jQuery原理后,转向现代JS或框架。

jQuery的核心优势是简化DOM操作和跨浏览器兼容性,适合快速开发传统Web应用,但在现代开发中可结合需求选择是否使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/905878.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【HCIA】BFD

前言 前面我们介绍了浮动路由以及出口路由器的默认路由配置&#xff0c;可如此配置会存在隐患&#xff0c;就是出口路由器直连的网络设备并不是运营商的路由器&#xff0c;而是交换机。此时我们就需要感知路由器的存活状态&#xff0c;这就需要用到 BFD&#xff08;Bidirectio…

前端流行框架Vue3教程:18. _组件数据传递

透传 Attributes 透传attribute指的是传递给一个组件&#xff0c;却没有被该组件声明为props或emits的attribute或者v-on事件监听器。最常见的例子就是class、style和id 当一个组件以单个元素为根作渲染时&#xff0c;透传的attribute会自动被添加到根元素上 透传 Attributes …

卓力达电铸镍网:精密制造与跨领域应用的创新典范

目录 引言 一、电铸镍网的技术原理与核心特性 二、电铸镍网的跨领域应用 三、南通卓力达电铸镍网的核心优势 四、未来技术展望 引言 电铸镍网作为一种兼具高精度与高性能的金属网状材料&#xff0c;通过电化学沉积工艺实现复杂结构的精密成型&#xff0c;已成为航空航天、电…

1.2.3.2 数据安全发展历程-大数据安全产品领域

从电商到物流&#xff1a;中国大数据安全产品如何进化&#xff1f; 在数字化时代&#xff0c;我们的一举一动都可能被记录——购物记录、聊天信息、位置轨迹……这些数据不仅关系到个人隐私&#xff0c;更涉及企业运营和国家安全的命脉。近年来&#xff0c;随着数据的爆发式增长…

服务器性能参数分析基础:磁盘-CPU-内存

在Linux系统中&#xff0c;"挂载"&#xff08;Mount&#xff09;是指将物理存储设备&#xff08;如磁盘分区&#xff09;或逻辑存储卷&#xff08;如LVM、网络存储&#xff09;关联到文件系统目录树的特定路径节点&#xff08;即挂载点&#xff09;&#xff0c;使得该…

密码学刷题小记录

base 64 打开后发现是一串字符串&#xff0c;&#xff0c;我们直接进行base64解密即可 Caesar 根据标题分析&#xff0c;我们知道这是凯撒解密&#xff0c;拖进去经过尝试在偏移量为12时直接得解&#xff08;这道题就是找偏移量比较麻烦&#xff09; Morse 这道题打开后&am…

Spring框架(三)

目录 一、JDBC模板技术概述 1.1 什么是JDBC模板 二、JdbcTemplate使用实战 2.1 基础使用&#xff08;手动创建对象&#xff09; 2.2 使用Spring管理模板类 2.3 使用开源连接池&#xff08;Druid&#xff09; 三、模拟转账开发 3.1 基础实现 3.1.1 Service层 3.1.2 Da…

[计算机网络]网络层

文章目录 408考研大纲IPV4数据报格式协议: IPv4 地址DHCP协议IP组播 408考研大纲 IPV4数据报格式 协议: 1:ICMP 6:TCP 17:UDP IPv4 地址 特殊IP 网络号全1又称直接广播地址&#xff0c;32位全1又称受限广播地址 因为255.255.255.255只能在本网络内广播&#xff0c;路由器不…

影楼精修-肤色统一算法解析

注意&#xff1a;本文样例图片为了避免侵权&#xff0c;均使用AIGC生成&#xff1b; 本文介绍影楼精修中肤色统一算法的实现方案&#xff0c;并以像素蛋糕为例&#xff0c;进行分析说明。 肤色统一就是将人像照片中皮肤区域的颜色进行统一&#xff0c;看起来颜色均匀一致&…

计算机网络:什么是计算机网络?它的定义和组成是什么?

计算机网络是指通过通信设备和传输介质&#xff0c;将分布在不同地理位置的计算机、终端设备及其他网络设备连接起来&#xff0c;实现资源共享、数据传输和协同工作的系统。其核心目标是使设备之间能够高效、可靠地交换信息。 关键组成部分 硬件设备 终端设备&#xff1a;如计算…

深度学习---获取模型中间层输出的意义

一、什么是 Hook&#xff08;钩子函数&#xff09;&#xff1f; 在 PyTorch 中&#xff0c;Hook 是一种机制&#xff0c;允许我们在模型的前向传播或反向传播过程中&#xff0c;插入自定义的函数&#xff0c;用来观察或修改中间数据。 最常用的 hook 是 forward hook&#xf…

存储器上如何存储1和0

在计算机存储器中&#xff0c;数据最终以**二进制形式&#xff08;0和1&#xff09;**存储&#xff0c;这是由硬件特性和电子电路的物理特性决定的。以下是具体存储方式的详细解析&#xff1a; 一、存储的物理基础&#xff1a;半导体电路与电平信号 计算机存储器&#xff08;…

Qt中的RCC

Qt资源系统(Qt resource system)是一种独立于平台的机制&#xff0c;用于在应用程序中传输资源文件。如果你的应用程序始终需要一组特定的文件(例如图标、翻译文件和图片)&#xff0c;并且你不想使用特定于系统的方式来打包和定位这些资源&#xff0c;则可以使用Qt资源系统。 最…

2918. 数组的最小相等和

2918. 数组的最小相等和 题目链接&#xff1a;2918. 数组的最小相等和 代码如下&#xff1a; class Solution { public:long long minSum(vector<int>& nums1, vector<int>& nums2) {auto [sum1, zero1] calc(nums1);auto [sum2, zero2] calc(nums2);i…

使用 Docker 部署 OnlyOffice

使用 Docker 部署 OnlyOffice 在如今容器化技术盛行的时代&#xff0c;Docker 已成为应用快速部署和隔离的最佳选择。OnlyOffice 作为一款功能强大的在线办公套件&#xff0c;通过 Docker 部署不仅能够简化安装和维护流程&#xff0c;还能在不同环境中保持一致性&#xff0c;极…

DDD领域驱动介绍

&#x1f4d5;我是廖志伟&#xff0c;一名Java开发工程师、《Java项目实战——深入理解大型互联网企业通用技术》&#xff08;基础篇&#xff09;、&#xff08;进阶篇&#xff09;、&#xff08;架构篇&#xff09;清华大学出版社签约作家、Java领域优质创作者、CSDN博客专家、…

前端 CSS 样式书写与选择器 基础知识

1.CSS介绍 CSS是Cascading Style Sheet的缩写&#xff0c;中文意思为"层叠样式表"&#xff0c;它是网页的装饰者&#xff0c;用来修饰各标签 排版(大小、边距、背景、位置等)、改变字体的样式(字体大小、字体颜色、对齐方式等)。 2.CSS书写位置 2.1 样式表特征 层…

鸿蒙 从打开一个新窗口到Stage模型的UIAbility组件

打开一个新的窗口 我们首先来实现如何在一个应用中打开一个新窗口&#xff0c;使用的模型是 Stage 模型 在项目文件里&#xff0c;新建一个 newWindow.ets 新文件 src/main/ets/pages/newWindow.ets newWindow.ets文件里面随便写点什么都行&#xff0c;这里是第一步创建的文件…

Linux的日志管理

日志管理服务rsyslogd 配置文件 | 日志类型 | 说明 | | -------------------- | ----------------------------------- | | auth | pam产生的日志 | | authpriv | ssh、ftp等…

【PhysUnits】4.1 类型级比特位实现解释(boolean.rs)

一、源码 该代码实现了一个类型级(type-level)的布尔系统&#xff0c;允许在编译时进行布尔运算。 //! 类型级比特位实现 //! //! 这些是基础的比特位类型&#xff0c;作为本库中其他数值类型的构建基础 //! //! 已实现的**类型运算符**&#xff1a; //! //! - 来自 core::op…