当前位置:首页 > 技术 > 正文内容

jQuery 核心技术指南:选择器、事件处理与 DOM 交互实践

访客 技术 2026年9月20日 12

jQuery 库概述

jQuery 是一个快速、简洁的 JavaScript 库,其核心设计理念是"写的更少,做的更多"(Write Less, Do More)。它封装了大量的 JavaScript 函数,简化了 HTML 文档遍历、事件处理、动画设计以及 Ajax 交互。

引入方式

在项目中使用 jQuery 通常有两种主流方案:

  • 本地引用:从官网下载 jquery.js。生产环境建议使用 Production version(经过压缩,体积更小);开发调试阶段建议使用 Development version(代码可读性好)。
  • CDN 引用:通过内容分发网络(Content Delivery Network)直接加载远程服务器上的资源。这种方式可以利用缓存加速页面加载速度。
<!-- 示例:通过 HTML 标签引入本地库 -->
<script src="js/vendor/jquery-3.6.0.min.js"></script>

基础语法与快速上手

jQuery 的基本语法架构为:$(selector).action()。其中 $ 是 jQuery 的别名,selector 用于定位 HTML 元素,action() 则是对选中的元素执行的操作。

<button id="btn_toggle">交互测试</button>
<p class="content_box">初始文本内容</p>

<script>
  // 当点击按钮时,改变段落文本
  $('#btn_toggle').on('click', function() {
      $('.content_box').text('内容已被 jQuery 更新!');
  });
</script>

选择器对比

相比于原生 JavaScript,jQuery 提供了更为强大且简洁的选择器系统,它几乎支持所有的 CSS 选择器语法。

// 原生 JavaScript 选择方式
document.getElementById('header');
document.getElementsByClassName('nav_item');
document.querySelectorAll('div > p');

// jQuery 选择方式
$('#header');           // ID 选择器
$('.nav_item');        // 类选择器
$('div > p');          // 层级选择器
$('ul li:first-child'); // 伪类选择器

事件驱动机制

jQuery 简化了事件绑定的逻辑。为了确保 DOM 元素在操作前已完全加载,通常将代码包裹在文档就绪事件中。

<div id="canvas_area" style="width:300px; height:200px; border:2px dashed #333;">
    请在此区域移动鼠标
</div>
<p>当前位置:<span id="coord_info">等待检测...</span></p>

<script>
  // 简写版文档就绪函数
  $(function() {
      const $display = $('#coord_info');
      
      $('#canvas_area').mousemove(function(event) {
          let posX = event.pageX;
          let posY = event.pageY;
          $display.html('<strong>X: </strong>' + posX + ' | <strong>Y: </strong>' + posY);
      });
  });
</script>

DOM 元素操作

jQuery 提供了直观的方法来读写元素的内容、属性和样式。

1. 内容读写

// 获取与设置纯文本
let textVal = $('#title').text();
$('#title').text('新标题');

// 获取与设置 HTML 结构
let htmlMarkup = $('.container').html();
$('.container').html('<span class="highlight">高亮内容</span>');

2. CSS 样式控制

// 动态修改样式
$('.info_card').css({
    "background-color": "#f0f0f0",
    "border-radius": "5px",
    "padding": "10px"
});

// 快速显示与隐藏(本质是操作 display 属性)
$('#secret_panel').hide(); // 隐藏
$('#secret_panel').show(); // 显示

脚本执行顺序说明

在使用 jQuery 编写业务逻辑时,必须严格遵守脚本的加载顺序:
1. 首先加载 jQuery 核心库文件。
2. 其次加载 依赖于 jQuery 的插件或自定义脚本。
由于 JavaScript 是解释型语言,按顺序执行,如果在 jQuery 库加载完成前调用 $ 符号,浏览器会抛出 ReferenceError: $ is not defined 的错误。

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。