基于JavaScript的表格设计:按序添加或删除班级的学生信息
目的:
制作一个表格,显示班级的学生信息
功能:
鼠标移到不同行,背景色发生改变,离开恢复原背景色
添加、删除按钮,可添加,可删除。
程序流程:
首先先建立绑定事件函数。
其次建立鼠标移动改变背景色函数。
再编写添加行和列函数。
最后编写删除函数。
HTML部分:
<body>
<table border="1" width="50%" id="table">
<tr>
<th>学号</th>
<th>姓名</th>
<th>操作</th>
</tr> <tr>
<td>xh001</td>
<td>王小明</td>
<td><a href="javascript:;" >删除</a></td>
</tr > <tr>
<td>xh002</td>
<td>刘小芳</td>
<td><a href="javascript:;" >删除</a></td>
</tr> </table>
<input type="button" value="添加一行" onclick="add()" />
JS部分:
绑定事件函数:
window.onload = function()
{
var tr=document.getElementsByTagName("tr")//获取所有表格的行标签,得到一个tr数组
for(var i=0;i<tr.length;i++)
{
bgcChange(tr[i]); //对每一个tr执行一个绑定事件
}
// 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景
}
改变背景色函数:
function bgcChange(obj)
{
obj.onmouseover=function()
{
obj.style.backgroundColor="#f2f2f2";//当鼠标覆盖时,改背景色为#f2f2f2
}
obj.onmouseout=function()
{
obj.style.backgroundColor="#fff";//当鼠标离开时,恢复背景色
}
}
添加行和列函数:
var num=2;
function add()
{
num++;
var tr=document.createElement("tr");//num每加一次建立一个行标签,存在tr数组里面
var xh=document.createElement("td");//num每加一次建立一个列标签,存在xh数组里面
var xm=document.createElement("td");//num每加一次建立一个列标签,存在xm数组里面
xh.innerHTML="xh00"+num; // 给学号列添加元素内容xh00num
xm.innerHTML="学生"+num;//给姓名列添加元素内容第num学生
var del=document.createElement("td");//num每加一次,建立一个列标签,存在del数组里面
del.innerHTML="<a href='javascript:;' onclick='del(this)'>删除</a>"; //给第三列添加删除列
var tab=document.getElementById("table"); //获取id=table的元素 存放在tab数组里面
tab.appendChild(tr); //向id=table的元素添加子节点,节点对象为tr
tr.appendChild(xh); //在添加行的同时,也添加学号列
tr.appendChild(xm); //在添加行的同时也添加姓名列
tr.appendChild(del); //在添加行的同时也添加删除列
var tr=document.getElementsByTagName("tr"); //获取所有表格的行标签,得到一个tr数组
for(var i=0;i<tr.length;i++)
{
bgcChange(tr[i]); //循环 对每一个行标签执行一个绑定事件
}
}
删除函数:
function del(obj) //obj是函数调用时的this this指的是<a>不是<td>,等于说obj指的是<a>,所以obj.parentNode.parentNode 是<tr> 然后tr.parentNode.removeChild(tr)是<table> 然后再removeChild(tr) 就是<table>移除<tr>.
{
var tr=obj.parentNode.parentNode;
tr.parentNode.removeChild(tr);
}
基于JavaScript的表格设计:按序添加或删除班级的学生信息的更多相关文章
- javascript数组在指定位置添加和删除元素
在JavaScript中,Array对象提供了一个强大的splice()方法,利用这个方法可以达到在数组的指定位置添加和删除元素的目的. 指定位置删除元素 要在指定位置删除元素,可以使用splice( ...
- JavaScript元素的创建、添加、删除
<script> var x=document.getElementById("p2"); var obj=document.createElement("p ...
- JS-表格数据的添加与删除、搜索
<!doctype html><html><head><meta charset="utf-8"><title>JS练习 ...
- Django实现简单的用户添加、删除、修改等功能
一. Django必要的知识点补充 1. templates和static文件夹及其配置 1.1 templates文件夹 所有的HTML文件默认都放在templates文件夹下. 1.2 stati ...
- Java课程设计---学生信息管理系统需求分析及总体设计
按照软件工程实践的原则,开发大型程序需要经历需求分析.总体设计.详细设计.编码实现.系统测试.系统维护等几个阶段. 1.需求分析 本阶段是整个软件开发过程中最重要的环节.通过了解实际运行的系统或与用户 ...
- Javascript DOM 03 表格添加、删除 + 搜索
获取 tBodies.tHead.tFoot.rows.cells 隔行变色 鼠标移入高亮 添加.删除一行 DOM方法的使用 ...
- 利用javascript动态向网页中添加表格
效果图如下: 以下是代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http ...
- 基于WPF系统框架设计(5)-Ribbon整合Avalondock 2.0实现多文档界面设计(二)
AvalonDock 是一个.NET库,用于在停靠模式布局(docking)中排列一系列WPF/WinForm控件.最新发布的版本原生支持MVVM框架.Aero Snap特效并具有更好的性能. Ava ...
- javascript生成表格增删改查 JavaScript动态改变表格单元格内容 动态生成表格 JS获取表格任意单元格 javascript如何动态删除表格某一行
jsp页面表格布局Html代码 <body onload="show()"> <center> <input type="text" ...
随机推荐
- Flutter简介
Flutter简介 Flutter 是 Google推出并开源的移动应用开发框架,主打跨平台.高保真.高性能.开发者可以通过 Dart语言开发 App,一套代码同时运行在 iOS 和 Android平 ...
- day33:进程II
目录 1.锁:Lock 2.信号量:Semaphone 3.事件:Event 4.进程队列:Queue 5.生产者和消费者模型 6.JoinableQueue 锁:Lock 1.锁的基本概念 上锁和解 ...
- 如何理解“异或(XOR)”运算在计算机科学中的重要性?(转自-阿里聚安全)
XOR加密是一种简单高效.非常安全的加密方法 一. XOR 运算 逻辑运算之中,除了 AND 和 OR,还有一种 XOR 运算,中文称为"异或运算". 它的定义是:两个值相同时,返 ...
- Nordic 52840-Timer定时器学习问题(一)
今天在ble_app_blinky例程中移植定时器驱动,在编译过程中报出了两个错误,在此记录一下. 1. 在nRF_Dreivers中添加nrfx_timer.c文件 选中“nRF_Dreivers ...
- JavaScript学习系列博客_5_JavaScript中的强制类型转换
-强制类型转换为String 1.方式1 调用被转换数据的toString()方法 number类型值.布尔类型值.都可以调用toString()方法强制转换.但是null值和undefined值不行 ...
- HDFS概述和Shell操作
大数据技术之Hadoop(HDFS) 第一章 HDFS概述 HDFS组成架构 HDFS文件块大小 第二章 HDFS的Shell操作(开发重点) 1.基本语法 bin/hadoop fs 具体命令 ...
- Docker入门教程-Linux环境安装Nginx及入门使用
介绍 Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服 ...
- ubuntu 下添加环境变量
ubuntu 下添加环境变量 方法1: 第一种临时设置,用 export 指令,如在$PATH中增加JAVA文件夹: $export PATH=$PATH:/usr/local/lib/jdk1.6. ...
- 【译】Database Profiling with Visual Studio
你是否在排查运行缓慢的 web 应用程序时怀疑是数据库层造成的?以前排查数据库层需要特定的工具,现在可以使用 Visual Studio 的 Performance Explorer 中的数据库分析工 ...
- 深入探究.Net Core Configuration读取配置的优先级
前言 在之前的文章.Net Core Configuration源码探究一文中我们曾解读过Configuration的工作原理,也.Net Core Configuration Etcd数据源 ...