当前位置: 首页 > news >正文

HTML + CSS + JavaScript 快速入门(三):JS 与 jQuery 实战

HTML + CSS + JavaScript 快速入门(三):JavaScript 与 jQuery 实战(2026 年视角)

这是系列第三讲,我们进入JavaScript(简称 JS)核心内容,并对比经典的jQuery
2026 年的现实情况是:

  • 原生 JS(尤其是 ES6+)已成为主流,几乎所有新项目都优先用原生。
  • jQuery仍然大量存在(据 W3Techs 2026 年 3 月数据,约 70% 的网站在使用某种 JS 库的情况下 jQuery 占比 ~88%,整体网站约 70% 仍在跑 jQuery,主要因为 WordPress、Bootstrap 遗留、大量维护中的老项目)。
  • jQuery 4.0 已于 2026 年初正式发布,体积更小、现代化更好,但新项目极少从零引入

因此本讲的策略是:先掌握原生 JS 核心(必须),再理解 jQuery 能做什么 + 怎么快速迁移/维护

1. JavaScript 核心基础(零基础到能写小交互)

1.1 变量与数据类型(ES6+ 写法)
// 优先用 const,需改值才用 let,永远别用 var(除非维护 2015 年前代码)constname="重阳";// 字符串letage=30;// 数字(number)constisDev=true;// 布尔constskills=["HTML","CSS","JS"];// 数组constperson={name,age,isDev};// 对象(简写属性)console.log(typeofperson);// "object"console.log(Array.isArray(skills));// true
1.2 函数(现代写法)
// 箭头函数(最常用)constgreet=(name="访客")=>`你好,${name}`;// 模板字符串// 普通函数(需要 this 绑定时用)functionadd(a,b){returna+b;}// 立即执行函数(IIFE,少用但偶尔有用)(()=>{console.log("页面加载就执行");})();
1.3 数组与对象常用操作(高频实战)
constnums=[10,5,8,3,12];// 增删改查nums.push(99);// 尾加nums.unshift(1);// 头加nums.pop();// 尾删nums.shift();// 头删nums.splice(2,1,88);// 从索引2删1个,插入88// 遍历(优先 for...of)for(constnumofnums){console.log(num);}// 高级操作(map / filter / reduce 最常用)constdoubled=nums.map(n=>n*2);constevens=nums.filter(n=>n%2===0);constsum=nums.reduce((acc,n)=>acc+n,0);// 对象解构 + 展开const{name,age:userAge}=person;constupdated={...person,city:"Meppel"};
1.4 DOM 操作基础(原生 vs jQuery 对比表)
需求原生 JavaScript (2026 推荐)jQuery (经典写法)备注
获取元素document.querySelector(".box")$(".box")原生更精确
获取多个document.querySelectorAll(".item")$(".item")原生返回 NodeList
修改文本el.textContent = "新内容"el.text("新内容")textContent 更安全
修改 HTMLel.innerHTML = "<strong>粗体</strong>"el.html("<strong>粗体</strong>")警惕 XSS
添加类el.classList.add("active")el.addClass("active")原生更轻量
事件绑定btn.addEventListener("click", () => {...})btn.click(() => {...})原生支持移除更方便
AJAX / fetchfetch("/api").then(r => r.json())$.get("/api", data => {...})fetch 内置 Promise
隐藏/显示el.style.display = "none"/"block"el.hide()/el.show()

现代结论凡是 jQuery 能做的,原生 JS 都能做,而且性能更好、体积更小
但在维护 WordPress 主题、老后台管理系统、Bootstrap 3/4 项目时,jQuery 仍然是最快上手的方式。

2. 实战小案例:Todo List(原生 JS 版 vs jQuery 版)

HTML 骨架(共用)

<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title>Todo List</title><linkrel="stylesheet"href="style.css"></head><body><divclass="container"><h1>我的待办事项</h1><inputtype="text"id="taskInput"placeholder="输入新任务..."><buttonid="addBtn">添加</button><ulid="taskList"></ul></div><!-- 两种版本都可切换使用 --><!-- <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script> --><scriptsrc="app.js"></script></body></html>

原生 JS 版本(推荐学习 & 新项目)

// app.js - Vanilla JSconstinput=document.getElementById("taskInput");constaddBtn=document.getElementById("addBtn");constlist=document.getElementById("taskList");functionaddTask(){consttext=input.value.trim();if(!text)return;constli=document.createElement("li");li.innerHTML=`<span>${text}</span> <button class="delete">×</button>`;li.querySelector(".delete").addEventListener("click",()=>{li.remove();});list.appendChild(li);input.value="";input.focus();}addBtn.addEventListener("click",addTask);input.addEventListener("keydown",e=>{if(e.key==="Enter")addTask();});

jQuery 版本(维护老项目或快速原型时用)

// app.js - jQuery 版$(function(){// 等价于 DOMContentLoadedconst$input=$("#taskInput");const$addBtn=$("#addBtn");const$list=$("#taskList");$addBtn.on("click",function(){consttext=$input.val().trim();if(!text)return;const$li=$(`<li> <span>${text}</span> <button class="delete">×</button> </li>`);$li.find(".delete").on("click",function(){$(this).parent().remove();});$list.append($li);$input.val("").focus();});$input.on("keydown",function(e){if(e.key==="Enter")$addBtn.trigger("click");});});

3. 2026 年学习路径建议(实战导向)

  1. 必须精通(80% 时间):

    • DOM 操作(querySelector / addEventListener / classList / dataset)
    • 数组方法(map/filter/reduce/find/forEach)
    • 事件委托(event delegation)
    • async/await + fetch
    • 模块化(import/export 或 type=“module”)
  2. 了解 & 能读懂(20% 时间):

    • jQuery 基本语法($() / .on() / .html() / .ajax() / .fadeIn() 等)
    • 如何把 jQuery 代码改写成原生(常见面试题)
    • 为什么很多老项目还在用 jQuery(WordPress、遗留系统、团队熟悉度)
  3. 小项目练习推荐(由简到难):

    • 动态待办列表(上面例子)
    • Tabs 切换 / 手风琴菜单
    • 图片懒加载 + 无限滚动
    • 简单表单验证 + AJAX 提交
    • Dark Mode 切换(localStorage 保存)

4. 一句话总结(2026 心态)

“原生 JS 是未来,jQuery 是过去和现在的大量遗产。”
先用原生把能力练扎实,再遇到老项目时看一眼 jQuery 文档就能快速维护。

下一讲预告(如果继续):

  • 事件机制深入 + 事件委托实战
  • 模块化开发(ES modules vs bundler)
  • 简单状态管理(不依赖框架)
  • 常见面试 JS 题解析

你现在想重点练哪个部分?

  • 更多原生 DOM 小案例
  • jQuery → 原生 迁移对比
  • 事件冒泡/委托的完整解释
  • 用 fetch 做真实 API 交互

告诉我,我可以直接给对应代码 + 详细步骤。

http://www.cnnetsun.cn/news/1422779.html

相关文章:

  • Ubuntu双系统安装失败?天选5Pro的Intel RST问题全解析
  • SecGPT-14B一文详解:SecGPT-14B在ATTCK战术层(TA0002/TA0003)的映射能力
  • 微信小游戏开发者必看:如何防止你的游戏被CE修改和反编译?
  • Vivado工程芯片型号更换全流程:从IP更新到生成新bit文件(避坑指南)
  • 为什么90%的MCP跨语言调用会偶发“UnknownError: code=12”?——基于Wireshark+eBPF的协议栈级深度溯源
  • Java Web开发基础与Servlet核心技术
  • 告别卡顿!用FPGA+SDRAM实现OV7670视频流平滑显示的关键时序设计
  • 深耕B端拓客:号码核验的行业困局与技术破局路径氪迹科技法人股东号码筛选核验系统
  • Vue3 响应式系统:`ref`/`reactive`/`watchEffect` 的工作方式与最佳实践
  • Deepin系统防火墙配置全攻略:从UFW安装到端口开放(附Windows测试方法)
  • Linux系统管理员必看:logrotate权限问题终极解决方案(附su指令详解)
  • Superset零基础安装指南:从Python环境配置到可视化仪表盘搭建(避坑大全)
  • 从用户行为分析到金融报表:手把手教你用Apache Doris的BITMAP和HLL搞定大数据去重
  • FPGA实战:如何在Vivado中快速配置HDMI 1.4/2.0 TX Subsystem IP(附时钟域避坑指南)
  • 别再背公式了!用“找人帮忙“彻底搞懂 Self-Attention
  • ESP32实现iOS ANCS通知通信的嵌入式开发指南
  • DevOps03-GitLab02-持续集成与部署(CI/CD)01:简介(最简洁版Pipeline:编写.gitlab-ci.yml文件)【GitLab CI/CD 对标 Jenkins】
  • 计算机毕设 java基于java的小区物业管理系统 Java 小区物业综合管理平台的设计与实现 基于 SpringBoot 的智能化小区物业管理系统开发
  • Spring Boot中RedisTemplate和StringRedisTemplate混用的那些坑(附解决方案)
  • 视频监控音频协议选型指南:AAC、G711A、G711U如何选?附实战案例
  • Windows下PCL点云库多版本共存实战:VS2019到VS2022无缝切换指南
  • 以根深铸远势——AI元人文视角下的中国神话跨文化传播 副篇:伦理中间件中的交往理性——从尊重自感开始
  • 如何用SpaceNet SN6数据集进行多传感器建筑识别(附Rotterdam数据下载指南)
  • Python实战:高效批量转换手机通讯录为vcf格式的解决方案
  • PostgreSQL字符串截取实战:从基础到正则表达式的高级用法
  • GetOrganelle实战指南:从安装到高效组装叶绿体基因组
  • 【技术揭秘】快速识别网站服务器类型:Nginx与Apache的实战技巧
  • uniapp实战:混合使用组件与API,优雅实现图片与视频的上传与预览
  • 当四足机器狗遇上3D激光雷达:为何放弃Gmapping,选择Hector SLAM构建栅格地图?
  • 真心不骗你!碾压级的降AI率网站 —— 千笔·降AIGC助手