学生信息系统录入与显示案例

本文通过实例讲解了原生JavaScript中DOM操作、事件委托的使用以及如何实现数据录入和实时更新。适合前端新手通过实践提升DOM操作技能和逻辑思维。
摘要由CSDN通过智能技术生成

练习心得

1、了解原生js的DOM底层操作,元素节点的增删改查

2、了解事件委托、了解 为元素绑定新属性

案例展示

JS逻辑核心代码

功能:1、数据的录入  2、数据实时刷新更新到前端页面

<script>
	//定义一个数组存储学生信息 根据数组里的数据实时渲染到前端页面
	//用户点击录入即存储数据
	let student=[{
		id:1,
		name:"关羽",
		age:"22",
		sex:"男",
		selery:12000,
		city:"咸阳"
	},{
		id:2,
		name:"刘备",
		age:"24",
		sex:"男",
		selery:50000,
		city:"荆州"
	}];//默认数组里有两条数据

	const tbody=document.querySelector("tbody");
    
	let id=student.length+1;//

	let form=document.querySelector("form");

	//事件委托
	tbody.addEventListener("click",function(e){
		if(e.target.tagName==="A"){
			confirm(`确定要删除---${e.target.parentNode.parentNode.children[1].textContent}---吗`)?student.splice(e.target['data-id'],1):"";
			render();
		}
		
	})
    //渲染前端页面
	render();
	
	//增加学生信息 函数
	function addStuMessage(){
		let obj=document.querySelectorAll("[name]");//通过属性获取对应的元素
		//阻止表单提交默认的行为
		form.addEventListener("submit",function(e){
			e.preventDefault();
			this.reset();
		})
		for(let i=0;i<obj.length;i++){
			if(obj[i].value===""){
				alert("数据不能为空");
				return;
			}
		}
		id=id;
		let name=obj[0].value;
		let age=obj[1].value;
		let sex=obj[2].value;
		let selery=obj[3].value;
		let city=obj[4].value;
		student.push({
			id:id,
			name:name,
			age:age,
			sex:sex,
			selery:selery,
			city:city
		})
		id++;
	   //增加完成后,需要重新刷新渲染页面
		render();
	}
	//渲染函数
	function render(){
		tbody.innerHTML="";
		for(let key in student){
			let tr=document.createElement("tr");
			tbody.appendChild(tr);
			for(keys in student[key]){
				let td=document.createElement("td");
				td.textContent=student[key][keys];
				tr.appendChild(td);
			}

			let deleteObje=document.createElement("td");

			tr.appendChild(deleteObje);

			let a=document.createElement("a");
			a.textContent="删除";
			a['data-id']=key;
			a.href="javascript:"
			deleteObje.appendChild(a);
		}
	}
	
</script>

总结

1、适合对前端感兴趣的新手小白练习,练习的目的 一方面加深对前端DOM底层操作,另一方面通过一个个小案例练习逐渐完善 编写代码的顺序与逻辑思考。同时也能感受到js编程带来的乐趣。

2、小白进阶大神不是一步之遥,知识是慢慢积累的,加油!加油!加油!

种一棵树最好的时间在十年前,然后是现在。

我是代码小白鸽,爱前端、爱编程、爱智能化的时代,欢迎交流。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码小白鸽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值