上一节我们总体介绍了JS库有哪些,并简单向读者验证了熟练使用JS库能够大幅度提高前端工作效率。本节我们开始介绍JS库的一个十分重要的库——jQuery。

jQuery

jQuery是一个流行的JS库,它提供了一种简单易用的API,可以在各种浏览器中运行。jQuery提供了一系列功能,例如DOM操作、事件处理、动画效果、Ajax交互、表单验证等,这使得开发人员可以更快速、更轻松地开发Web应用。

与其他JS库相比,jQuery有一个独特的特性,即它使用简洁的语法和易于学习的API,使得开发人员可以更快速地编写JS代码。jQuery的链式语法和选择器机制使得它非常适合于快速构建和测试Web应用。

此外,jQuery还具有丰富的插件生态系统,这些插件可以帮助开发人员扩展jQuery的功能和用途,以满足特定的需求。

jQuery是一个流行的JS库,它为开发人员提供了许多方便的功能和工具,以简化JS编程和Web开发。jQuery的简洁语法、易于学习的API和丰富的插件生态系统使其成为Web开发的流行选择之一。

下面我们使用一下jQuery完成一个备忘录操作。具体指得是:增添一个任务,能够追加到备忘录中;同时每个任务都能够被取消或者显示已完成,并动态更新备忘录内容。

<!DOCTYPE html>
<html>
<head>
    <title>jQuery备忘录</title>
    <!-- 引入jQuery库 -->
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <style>
        .completed { text-decoration: line-through; color: pink; }
        .todo-item { margin: 5px 0; padding: 8px; border: 1px solid #ddd; }
    </style>
</head>
<body>
    <div id="app">
        <h2>备忘录</h2>
        <input type="text" id="todoInput" placeholder="输入新任务">
        <button id="addBtn">添加任务</button>
        <ul id="todoList"></ul>
    </div>
    <script>
     /* 1. 页面加载完成监听器 */
$(document).ready(function() {
    // 1.1 数据初始化
    let todos = [];      // 准备一个数组维护备忘录(存储所有任务)
    let nextId = 1;      // 准备一个自增ID生成器
    // 2.1 绑定添加任务的事件监听器
    $('#addBtn').click(addTodo);  // 点击添加按钮执行addTodo函数
    // 3.1 定义添加任务的函数
    function addTodo() {
        // 3.1.1 获取输入框内容并去除空格
        const text = $('#todoInput').val().trim();
        
        // 3.1.2 检查输入是否有效
        if (text) {
            // 3.1.3 创建任务对象
            const todo = { 
                id: nextId++,        // 分配唯一ID并自增
                text: text,          // 任务文本内容
                completed: false     // 初始状态为未完成
            };
            
            // 3.1.4 将任务添加到数组
            todos.push(todo);
            
            // 3.1.5 重新渲染任务列表
            renderTodos();
            
            // 3.1.6 清空输入框
            $('#todoInput').val('');
        }
    }
    // 4.1 定义渲染任务列表的函数
    function renderTodos() {
        // 4.1.1 清空现有列表内容
        $('#todoList').empty();
        
        // 4.1.2 遍历所有任务数组
        $.each(todos, function(index, todo) {
            // 4.1.3 为每个任务创建列表项
            const $li = $('<li>', {
                // 4.1.4 设置CSS类(根据完成状态)
                class: 'todo-item' + (todo.completed ? ' completed' : ''),
                // 4.1.5 设置HTML内容
                html: `
                    <span>${todo.text}</span>
                    <button class="toggle-btn">${todo.completed ? '取消完成' : '标记完成'}</button>
                    <button class="delete-btn">删除</button>
                `
            });
            
            // 4.1.6 将列表项添加到任务列表
            $('#todoList').append($li);
        });
    }
    // 5.1 事件委托 - 处理标记完成/取消完成按钮点击
    $('#todoList').on('click', '.toggle-btn', function() {
        // 5.1.1 找到被点击按钮所在的列表项
        const $li = $(this).closest('li');
        
        // 5.1.2 获取该列表项在任务列表中的索引
        const index = $li.index();
        
        // 5.1.3 切换对应任务的完成状态
        todos[index].completed = !todos[index].completed;
        
        // 5.1.4 重新渲染列表以更新显示
        renderTodos();
    });
    // 5.2 事件委托 - 处理删除按钮点击
    $('#todoList').on('click', '.delete-btn', function() {
        // 5.2.1 找到被点击按钮所在的列表项
        const $li = $(this).closest('li');
        
        // 5.2.2 获取该列表项在任务列表中的索引
        const index = $li.index();
        
        // 5.2.3 从任务数组中删除对应任务
        todos.splice(index, 1);
        
        // 5.2.4 重新渲染列表以更新显示
        renderTodos();
    });
});
    </script>
</body>
</html>

这里我们通过jQuery实现了典型的前端MVC应用,简化了DOM操作,提供了完整的任务增删改查功能。

总结:使用好jQuery库能够大幅度提高开发技能,更快更好地完成前端工作。

点赞(167)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)