JavaScript_动态表格_添加功能

news2024/11/18 7:47:36

 1、动态表格_添加功能.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>动态表格_添加功能</title>
    <style>
        table{
            border: 1px solid;
            margin: auto;
            width: 100%;
        }
        td,th{
            text-align: center;
            border: 1px solid;
        }
        div{
            text-align: center;
            margin: 50px;
        }
    </style>
</head>
<body>
                        <div>
                            <input type="text" id="id" placeholder="请输入编号"/>
                            <input type="text" id="name" placeholder="请输入姓名"/>
                            <input type="text" id="gender" placeholder="请输入性别"/>
                            <input type="button" value="添加" id="btn_add" onclick="btn_add"/>
                        </div>
                        <table>
                            <caption>学生信息表</caption>
                            <tr>
                                <th>编号</th>
                                <th>姓名</th>
                                <th>性别</th>
                                <th>操作</th>
                            </tr>

                            <tr>
                                <td>1</td>
                                <td>张三丰</td>
                                <td>男</td>
                                <td><a href="javascript:void(0)">删除</a> </td>
                            </tr>
                            <tr>
                                <td>2</td>
                                <td>张翠山</td>
                                <td>男</td>
                                <td><a href="javascript:void(0)">删除</a> </td>
                            </tr>
                            <tr>
                                <td>3</td>
                                <td>张无忌</td>
                                <td>男</td>
                                <td><a href="javascript:void(0)">删除</a> </td>
                            </tr>
                        </table>

                <script>
                    /**
                     *     1、给添加按钮绑定单击事件
                     *     2、获取文本框的内容
                     *     3、创建td,设置td的文本为文本框的内容
                     *     4、创建tr
                     *     5、将td添加到tr中
                     *     6、获取table,将tr添加到table中
                     */
                    //1、获取按钮
                    document.getElementById("btn_add").onclick = function () {
                        //2、获取文本框的内容
                        let id = document.getElementById("id").value;
                        let name = document.getElementById("name").value;
                        let gender = document.getElementById("gender").value;
                        //3.创建td,赋值td的标签体
                        //id的td
                        let td_id = document.createElement("td");
                        let text_id = document.createTextNode(id);
                        td_id.appendChild(text_id);
                        //name的td
                        let td_name = document.createElement("td");
                        let text_name = document.createTextNode(name);
                        td_name.appendChild(text_name);
                        //gender的td
                        let td_gender = document.createElement("td");
                        let text_gender = document.createTextNode(gender);
                        td_gender.appendChild(text_gender);
                        //a标签的td
                        let td_a = document.createElement("td");
                        let ele_a = document.createElement("a");
                        ele_a.setAttribute("href", "javascript:void(0)");
                        ele_a.setAttribute("onclick", "delTr(this)");
                        let text_a = document.createTextNode("删除");
                        ele_a.appendChild(text_a);
                        td_a.appendChild(ele_a);

                        //4、创建tr
                        let tr = document.createElement("tr");
                        //5、添加td到tr中
                        tr.appendChild(td_id);
                        tr.appendChild(td_name);
                        tr.appendChild(td_gender);
                        tr.appendChild(td_a);
                        //6、获取table
                        let table = document.getElementsByTagName("table")[0];
                        table.appendChild(tr);
                    };
                </script>

</body>
</html>

 

    // 当点击id为"btn_add"的元素时,执行以下函数
    document.getElementById("btn_add").onclick = function () {
        // [待填充]
    };
    //该函数是为一个id为"btn_add"的按钮元素绑定一个点击事件,当按钮被点击时,将执行匿名函数内的代码

 

let id = document.getElementById("id").value;  // 获取id元素的值
let name = document.getElementById("name").value;  // 获取name元素的值
let gender = document.getElementById("gender").value;  // 获取gender元素的值
//这个函数通过调用document.getElementById方法,获取页面中指定id的元素的值,并将其赋值给对应的变量。
//这样就可以通过这些变量来操作或使用页面元素的值
//创建一个 <td> 元素
td_id = document.createElement("td");
//创建一个文本节点
text_id = document.createTextNode(id);
//将文本节点添加到 <td> 元素中
td_id.appendChild(text_id);
//这个函数创建了一个新的HTML表格单元格元素(<td>),并创建了一个包含id文本的文本节点。
//然后将文本节点添加到表格单元格元素中
let td_a = document.createElement("td");  //创建一个<td>元素
let ele_a = document.createElement("a");  //创建一个<a>元素
ele_a.setAttribute("href", "javascript:void(0)");  //设置<a>元素的href属性为"javascript:void(0)"
ele_a.setAttribute("onclick", "delTr(this)");  //设置<a>元素的onclick属性为"delTr(this)"
let text_a = document.createTextNode("删除");  //创建一个文本节点,内容为"删除"
ele_a.appendChild(text_a);  //将文本节点添加到<a>元素中
td_a.appendChild(ele_a);  //将<a>元素添加到<td>元素中
//该代码创建了一个包含链接和文本的表格单元格。链接的href属性设置为"javascript:void(0)",表示点击链接时不会跳转到其他页面。
//链接的onclick属性设置为"delTr(this)",表示点击链接时会调用"delTr"函数并传递链接本身作为参数。
//文本内容"删除"由文本节点创建并添加到链接中,然后链接被添加到表格单元格中。
// 创建一个 tr 元素
let tr = document.createElement("tr");
//该函数使用JavaScript创建一个新的HTML表格行元素,并将其作为返回值返回。
//创建一个tr元素,并将td元素添加到其中
tr.appendChild(td_id);
tr.appendChild(td_name);
tr.appendChild(td_gender);
tr.appendChild(td_a);
//给定一个HTML表格,将四个表格数据单元格(td)添加到当前行(tr)中。
//获取页面中所有table标签
table = document.getElementsByTagName("table")[0];
//将<tr>标签作为子元素添加到第一个table标签中
table.appendChild(tr);
//这个代码片段将获取页面中第一个table元素,并将一个tr元素作为其子元素添加。

2、可以使用JavaScript的DOM操作,通过以下步骤动态添加数据到表格中:

  1. 获取表格对象,可以通过getElementById或者querySelector等方式获取。

  2. 创建一个新的行对象,并设置行的属性。可以使用createElement方法创建tr元素,然后使用setAttribute方法设置该行的属性,如id等。

  3. 创建每个单元格对象,并设置单元格内容。可以使用createElement方法创建td元素,然后使用appendChild方法将文本节点添加到单元格中。

  4. 将单元格添加到行中,可以使用appendChild方法将每个单元格对象添加到行对象中。

  5. 将新创建的行对象添加到表格中,可以使用appendChild方法将行对象添加到表格对象的tbody或thead中。

示例代码:

// 获取表格对象
var table = document.getElementById("myTable");

// 创建一个新的行对象
var row = document.createElement("tr");

// 创建每个单元格对象,并设置单元格内容
var cell1 = document.createElement("td");
var cell2 = document.createElement("td");
cell1.appendChild(document.createTextNode("Cell 1"));
cell2.appendChild(document.createTextNode("Cell 2"));

// 将单元格添加到行中
row.appendChild(cell1);
row.appendChild(cell2);

// 将新创建的行对象添加到表格中
table.appendChild(row);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1200319.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python:Unittest框架快速入门:用例、断言、夹具、套件、HTML报告、ddt数据驱动

快速看了套Unittest的入门教程 软件测试全套资料赠送_哔哩哔哩_bilibili软件测试全套资料赠送是快速入门unittest测试框架&#xff01;全实战详细教学&#xff0c;仅此一套&#xff01;的第1集视频&#xff0c;该合集共计11集&#xff0c;视频收藏或关注UP主&#xff0c;及时了…

ElasticSearch学习和使用 (使用head软件可视化es数据)

使用步骤 直接使用 Elasticsearch的安装和使用 下载Elasticsearch6.2.2的zip包&#xff0c;并解压到指定目录&#xff0c;下载地址&#xff1a;https://www.elastic.co/cn/downloads/past-releases/elasticsearch-6-2-2运行bin目录下的elasticsearch.bat启动Elasticsearch安…

【Python】python读取,显示,保存图像的几种方法

一、PIL&#xff1a;Python Imaging Library&#xff08;pillow&#xff09; PIL读取图片不直接返回numpy对象&#xff0c;可以用numpy提供的函数np.array()进行转换&#xff0c;亦可用Image.fromarray()再从numpy对象转换为原来的Image对象&#xff0c;读取&#xff0c;显示&…

Deepsort项目详解

一、目标追踪整体代码 代码目录如下图所示&#xff1a; 、 追踪相关代码&#xff1a; 检测相关代码和权重 调用 检测 和 追踪的代码&#xff1a; 首先代码分为三个部分&#xff1a; 目标追踪的相关代码和权重目标检测相关代码和权重&#xff0c;这里用的是yolov5.5目标检…

c语言练习11周(6~10)

输入任意字串&#xff0c;将串中除了首尾字符的其他字符升序排列显示&#xff0c;串中字符个数最多20个。 题干 输入任意字串&#xff0c;将串中除了首尾字符的其他字符升序排列显示&#xff0c;串中字符个数最多20个。输入样例gfedcba输出样例gbcdefa 选择排序 #include<s…

java--JDBC学习

文章目录 今日内容0 复习昨日1 JDBC概述2 JDBC开发步骤2.1 创建java项目2.2 导入mysql驱动包2.2.1 复制粘贴版本2.2.2 idea导入类库版本 2.3 JDBC编程 3 完成增删改3.1 插入3.2 更新3.3 删除 4 查询结果集ResultSet【重要】5 登录案例【重要】6 作业 今日内容 0 复习昨日 1 JDB…

数据结构:树的存储结构(孩子兄弟表示法,树和森林的遍历)

目录 1.树的存储结构1.双亲表示法&#xff08;顺序存储&#xff09;1.优缺点 2.孩子表示法&#xff08;顺序链式存储&#xff09;3.孩子兄弟表示法&#xff08;链式存储&#xff09;4.森林与二叉树的转换 2.树的遍历1.先根遍历2.后根遍历3.层序遍历 3.森林的遍历1.先序遍历2.中…

汉明距离(Java)

两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。 给你两个整数 x 和 y&#xff0c;计算并返回它们之间的汉明距离。 方法1:使用内置函数 class Solution {public int hammingDistance(int x, int y) {return Integer.bitCount(x ^ y);} }方法2:移位实…

Flutter:改变手机状态栏颜色,与appBar状态颜色抱持一致

前言 最近在搞app的开发&#xff0c;本来没怎么注意appBar与手机状态栏颜色的问题。但是朋友一说才注意到这两种的颜色是不一样的。 我的app 京东 qq音乐 这样一对比发现是有的丑啊&#xff0c;那么如何实现呢&#xff1f; 实现 怎么说呢&#xff0c;真不会。百度到的一些是…

java的类和继承构造

一些小技巧 类和对象 什么是类&#xff0c;对象&#xff0c;方法&#xff1f; 在下面的 Java 代码中&#xff0c;定义了一个名为 Person 的类&#xff0c;并提供了构造方法来初始化对象的属性。类中定义了 eat、sleep 和 work 三个方法&#xff0c;用于表示人的行为。在 main 方…

ValueError: ‘x‘ and ‘y‘ must have the same size

ValueError: ‘x’ and ‘y’ must have the same size 问题描述 出错代码 axes[0].errorbar(dates_of_observation, observed_lai, yerrstd_lai, fmt"o")X是观测的日期&#xff0c;16天&#xff0c;而且数据也是对应的16个&#xff0c;为什么不对应呢&#xff1f;…

python工具CISCO ASA设备任意文件读取

​python漏洞利用 构造payload&#xff1a; /CSCOT/translation-table?typemst&textdomain/%2bCSCOE%2b/portal_inc.lua&default-language&lang../漏洞证明&#xff1a; 文笔生疏&#xff0c;措辞浅薄&#xff0c;望各位大佬不吝赐教&#xff0c;万分感谢。 免…

git的分支及标签使用及情景演示

目录 一. 环境讲述 二.分支 1.1 命令 1.2情景演练 三、标签 3.1 命令 3.2 情景演示 ​编辑 一. 环境讲述 当软件从开发到正式环境部署的过程中&#xff0c;不同环境的作用如下&#xff1a; 开发环境&#xff1a;用于开发人员进行软件开发、测试和调试。在这个环境中…

git push origin masterEverything up-to-date

按住这个看一下很简单的问题&#xff0c;我在网上看了很多就是没找到能用的&#xff0c;最后找到了这个看起来写的很简单的一个文章&#xff0c;但他写的真的有用。 出现的问题 解决步骤

前端开发引入element plus与windi css

背景 前端开发有很多流行框架&#xff0c;像React 、angular、vue等等&#xff0c;本文主要讲vue 给新手用的教程&#xff0c;其实官网已经写的很清楚&#xff0c;这里再啰嗦只是为了给新手提供一个更加简单明了的参考手册。 一、打开element plus官网选则如图所示模块安装命令…

【学习笔记】Understanding LSTM Networks

Understanding LSTM Networks 前言Recurrent Neural NetworksThe Problem of Long-Term DependenciesLSTM Networks The Core Idea Behind LSTMsStep-by-Step LSTM Walk ThroughForget Gate LayerInput Gate LayerOutput Gate Layer Variants on Long Short Term MemoryConclus…

go学习之接口知识

文章目录 接口1.接口案例代码展示2.基本介绍3.基本语法4.应用场景介绍5.注意事项和细节6.接口编程经典案例7.接口与继承之间的比较8.面向对象编程--多态1&#xff09;基本介绍2&#xff09;快速入门3&#xff09;接口体现多态的两种形式 9.类型断言1&#xff09;先看一个需求2&…

odoo16 库存初始化 excel导入问题2

产品导入模板: excel内容: 导入测试 查看可能的值,发现没有ml,在计量单位中增加ml选项(不选创建,知道为什么不,仔细想想,创建不知ml是什么单位) 位置不能在此导入,故取消 测试正常 导入成功 总结:产品导入时,位置无法指定,只建产品名称,计量单位,采购单位,

混沌系统在图像加密中的应用(基于哈密顿能量函数的混沌系统构造1.3)

混沌系统在图像加密中的应用&#xff08;基于哈密顿能量函数的混沌系统构造1.3&#xff09; 前言一类三维非哈密顿系统的构造与动态特性分析1.相关理论基础2.类Nos-Hoove系统构造的思路及实现3.基于哈密顿能量理论的Nos-Hoove系统的分析与仿真3.1 平衡点分析3.2 不同强度激励下…

软件设计师 之 【第三章】数据库系统

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 1、数据库系统前言 2、三级模式 - 两级映射…