前端JS函数

简介: 【9月更文挑战第4天】前端JS函数

在前端开发中,JavaScript(JS)函数扮演着至关重要的角色,它们允许我们封装可重用的代码块,以执行各种任务,如响应用户输入、操作DOM元素、发送异步请求等。下面,我将通过一个具体的示例来演示一个前端JS函数的编写和使用,该函数将用于在网页上动态地添加和删除列表项。

示例:动态管理列表项

假设我们有一个简单的HTML页面,上面有一个按钮用于添加列表项,每个列表项旁边都有一个“删除”按钮用于移除该项。

HTML 部分

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>动态列表管理</title>
</head>
<body>
    <h2>我的待办事项</h2>
    <ul id="todoList"></ul>
    <button onclick="addItem()">添加项目</button>

    <script src="script.js"></script>
</body>
</html>

JavaScript 部分 (script.js)

// 初始化一个计数器,用于生成唯一的列表项ID
let itemCount = 0;

// 函数:添加列表项
function addItem() {
   
    // 生成唯一的ID
    const uniqueId = `item-${
     ++itemCount}`;

    // 创建新的列表项元素
    const newItem = document.createElement('li');
    newItem.id = uniqueId;
    newItem.textContent = `项目 ${
     itemCount}`; // 设置文本内容

    // 创建删除按钮
    const deleteButton = document.createElement('button');
    deleteButton.textContent = '删除';
    deleteButton.onclick = function() {
   
        // 绑定点击事件到删除函数,并传递当前列表项的ID
        removeItem(this.parentNode.id);
    };

    // 将删除按钮添加到列表项中
    newItem.appendChild(deleteButton);

    // 将列表项添加到列表中
    const todoList = document.getElementById('todoList');
    todoList.appendChild(newItem);
}

// 函数:删除列表项
function removeItem(itemId) {
   
    // 通过ID找到对应的列表项并移除
    const itemToRemove = document.getElementById(itemId);
    if (itemToRemove) {
   
        itemToRemove.remove();
    }
}

// 可选:页面加载时自动添加一些初始列表项
window.onload = function() {
   
    for (let i = 0; i < 5; i++) {
   
        addItem();
    }
};

代码解析

  1. HTML 部分:定义了一个无序列表(<ul>)和一个按钮。列表用于显示待办事项,按钮用于触发添加新项目的操作。

  2. JavaScript 部分

    • addItem() 函数用于创建新的列表项(<li>)和一个删除按钮(<button>),并将它们添加到页面上。每个列表项都有一个唯一的ID,以便之后可以被单独识别。
    • removeItem(itemId) 函数接受一个ID作为参数,用于找到并移除对应的列表项。
    • 使用 document.createElement() 来创建新的DOM元素。
    • 使用 textContent 属性来设置元素的文本内容。
    • 使用 appendChild() 方法将新元素添加到其父元素中。
    • 使用 remove() 方法从DOM中移除元素。
    • window.onload 事件监听器用于在页面加载完成后自动添加一些初始的列表项。

注意

  • 这个示例演示了如何使用JS函数和DOM操作来动态地管理网页上的内容。
  • 在实际应用中,你可能还需要考虑更多的细节,比如列表项的样式、用户输入的验证、以及与服务器端的交互等。
  • 为了提高代码的可维护性和可读性,可以将相关的功能封装在更小的函数或对象中,或者使用现代前端框架(如React、Vue或Angular)来组织代码。
目录
相关文章
|
机器学习/深度学习 JavaScript 前端开发
JS进阶教程:递归函数原理与篇例解析
通过对这些代码示例的学习,我们已经了解了递归的原理以及递归在JS中的应用方法。递归虽然有着理论升华,但弄清它的核心思想并不难。举个随手可见的例子,火影鸣人做的影分身,你看到的都是同一个鸣人,但他们的行为却能在全局产生影响,这不就是递归吗?雾里看花,透过其间你或许已经深入了递归的魅力之中。
478 19
|
前端开发 JavaScript 数据可视化
58K star!这个让网页动起来的JS库,前端工程师直呼真香!
Anime.js 是一款轻量级但功能强大的JavaScript动画引擎,它能够以最简单的方式为网页元素添加令人惊艳的动效。这个项目在GitHub上已经获得58,000+星标,被广泛应用于电商页面、数据可视化、游戏开发等场景。
781 8
|
资源调度 JavaScript 前端开发
前端开发必备!Node.js 18.x LTS保姆级安装教程(附国内镜像源配置)
本文详细介绍了Node.js的安装与配置流程,涵盖环境准备、版本选择(推荐LTS版v18.x)、安装步骤(路径设置、组件选择)、环境验证(命令测试、镜像加速)及常见问题解决方法。同时推荐开发工具链,如VS Code、Yarn等,并提供常用全局包安装指南,帮助开发者快速搭建高效稳定的JavaScript开发环境。内容基于官方正版软件,确保合规性与安全性。
15936 23
|
JavaScript 前端开发 容器
|
JavaScript 前端开发
|
存储 JavaScript 前端开发
|
移动开发 JavaScript 前端开发
|
存储 JavaScript 前端开发
|
JavaScript 前端开发
|
JavaScript 前端开发

热门文章

最新文章

  • 1
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
    1286
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    589
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    449
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    452
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    576
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    749
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    1473
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    325
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    1188
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    528