jQuery 2.1.4 系统学习手册

从入门到精通 · 完整技术指南

概述

jQuery 是一个快速、简洁的 JavaScript 库,极大简化了 DOM 操作、事件处理、动画和 Ajax 交互。

⚠️ 重要提示: jQuery 2.x 版本不再支持 IE 6/7/8,如需兼容旧版 IE,请使用 jQuery 1.x。

版本 2.1.4 特点:

目录

第1章: 开始使用 jQuery

1.1 引入 jQuery

使用 CDN 方式引入 jQuery 2.1.4:

<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>

1.2 文档就绪事件

确保 DOM 完全加载后再执行代码:

$(document).ready(function() {
    console.log('DOM 已准备就绪!');
});

// 简写形式
$(function() {
    console.log('这是简写形式');
});

可视化图解: 文档加载流程

开始解析 HTML 构建 DOM 树结构 ready() 在此触发 DOM已完成 完全 加载 ← 时间线 →

第2章: 核心 - 选择器与 $ 函数

2.1 $ 函数的本质

$jQuery 的别名,用于选择 DOM 元素并返回 jQuery 对象。

// 基础选择器
$('#myId')        // ID选择器
$('.myClass')     // 类选择器
$('div')          // 标签选择器
$('input[type="text"]')  // 属性选择器

2.2 层级与过滤选择器

// 层级选择器
$('ul li')        // 后代选择器
$('ul > li')      // 子选择器
$('h2 + p')       // 相邻兄弟

// 过滤选择器
$('li:first')     // 第一个
$('li:last')      // 最后一个
$('li:eq(2)')     // 索引为2
$('li:odd')       // 奇数索引
$('div:visible')  // 可见元素

可视化图解: DOM 树选择

document div#myId div.myClass p span $('#myId') 选中绿色节点 $('.myClass') 选中紫色节点

实践演示

盒子1
盒子2
盒子3

第3章: DOM 操作

3.1 属性与样式

// 属性操作
$('#myDiv').attr('title', '新标题');     // 设置属性
var src = $('img').attr('src');         // 获取属性
$('a').removeAttr('target');           // 移除属性

// 样式操作
$('.box').css('color', 'red');         // 设置单个
$('.box').css({                        // 设置多个
    'color': 'blue',
    'font-size': '20px'
});

// 类操作
$('.item').addClass('active');         // 添加类
$('.item').removeClass('active');      // 移除类
$('.item').toggleClass('active');      // 切换类

3.2 内容操作

// 文本和HTML
$('p').text('新文本');                 // 设置文本
$('div').html('<b>HTML内容</b>');  // 设置HTML
var content = $('p').text();          // 获取文本

// 值操作
$('input').val('新值');               // 设置值
var value = $('input').val();        // 获取值

3.3 节点操作

// 创建和插入
var newDiv = $('<div>新元素</div>');
$('#container').append(newDiv);       // 内部末尾插入
$('#container').prepend(newDiv);      // 内部开头插入
$('#target').before(newDiv);          // 外部前面插入
$('#target').after(newDiv);           // 外部后面插入

// 删除
$('.item').remove();                  // 删除元素
$('.item').empty();                   // 清空内容

实践演示

这是原始文本

第4章: 事件处理

4.1 基本事件绑定

// 常用事件
$('#btn').click(function() {
    alert('点击了按钮');
});

$('#input').focus(function() {
    $(this).css('border', '2px solid blue');
});

// on() 方法 - 推荐
$('#btn').on('click', function(e) {
    console.log('事件对象:', e);
});

4.2 事件委托

// 为动态添加的元素绑定事件
$('#list').on('click', 'li', function() {
    $(this).toggleClass('selected');
});

可视化图解: 事件流

祖先元素 (div) 父元素 (div) 目标 (button) ①捕获 ③冒泡 ②目标阶段

实践演示

等待事件...

第5章: 动画系统

5.1 基本动画

// 显示/隐藏
$('.box').hide(1000);        // 1秒隐藏
$('.box').show(500);         // 0.5秒显示
$('.box').toggle();          // 切换

// 淡入淡出
$('.box').fadeIn(1000);      // 淡入
$('.box').fadeOut(500);      // 淡出
$('.box').fadeTo(1000, 0.5); // 淡化到50%透明度

// 滑动
$('.panel').slideDown();     // 下滑显示
$('.panel').slideUp();       // 上滑隐藏
$('.panel').slideToggle();   // 切换

5.2 自定义动画

// animate() 方法
$('.box').animate({
    width: '300px',
    height: '300px',
    opacity: 0.8
}, 1000, function() {
    console.log('动画完成');
});

// 队列机制
$('.box')
    .animate({left: '100px'}, 500)
    .animate({top: '100px'}, 500)
    .animate({left: '0px'}, 500)
    .animate({top: '0px'}, 500);

可视化图解: 动画队列

动画队列 (FIFO) 动画1 动画2 动画3 执行中 动画按顺序逐个执行,前一个完成后才执行下一个

实践演示

动画


第6章: Ajax 技术

6.1 $.ajax() 方法

$.ajax({
    url: '/api/data',
    type: 'GET',
    dataType: 'json',
    success: function(data) {
        console.log('成功:', data);
    },
    error: function(xhr, status, error) {
        console.log('错误:', error);
    },
    complete: function() {
        console.log('请求完成');
    }
});

6.2 简写方法

// GET 请求
$.get('/api/users', function(data) {
    console.log(data);
});

// POST 请求
$.post('/api/users', {name: '张三', age: 25}, function(response) {
    console.log('创建成功:', response);
});

// 加载 JSON
$.getJSON('/api/config.json', function(json) {
    console.log('配置:', json);
});

可视化图解: Ajax 请求流程

客户端 (浏览器) 服务器 (API) ① HTTP 请求 ② HTTP 响应 ③ 回调函数处理数据

第7章: 插件开发

7.1 扩展 $.fn

通过扩展 $.fn (即 jQuery.prototype) 来创建插件:

// 创建一个高亮插件
$.fn.highlight = function(options) {
    // 默认配置
    var settings = $.extend({
        color: 'yellow',
        duration: 1000
    }, options);
    
    // 返回this保持链式调用
    return this.each(function() {
        $(this).css('background-color', settings.color)
               .animate({opacity: 0.5}, settings.duration)
               .animate({opacity: 1}, settings.duration);
    });
};

// 使用插件
$('p').highlight({color: 'lightblue', duration: 500});

7.2 最佳实践

实践演示

这是一段文本,点击按钮应用自定义插件效果

总结与最佳实践

性能优化建议

代码规范

学习资源

© 2024 jQuery 2.1.4 系统学习手册 | 持续学习,不断进步