DOM js and jQuery实现表格元素的删除添加

DOM js实现表格元素的删除添加

今天老师让不用jQuery,让使用原始的js写出来的代码
体现严格的逻辑性和耐性的时刻到了
图片样式

实现表格的删除插入

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<table border="1" cellspacing="0" cellpadding="2" align="center">
			<tr id="title">
				<th>商品名称</th>
				<th>商品价格</th>
				<th>操作</th>
			</tr>
			<tr  id="first">
				<td>iPhone</td>
				<td>8888</td>
				<td>
					<button>删除</button>
				</td>
			</tr>
			<tr id="second">
				<td>vivo</td>
				<td>3000</td>
				<td>
					<button>删除</button>
				</td>
			</tr>
			<tr id="last"><td colspan="3">
				商品名称:
				<input type="text" name="goodsname" id="goodsname" />
				商品价格:
				<input type="text" name="goodsprice" id="goodsprice" />
				
			</td></tr>
			<tr><td colspan="3">
				<center><button name="addd"  onclick="cli()" class="add">添加订单</button></center>
		</td></tr>
		</table>

		
		<script type="text/javascript">
			function cli(){
				var goodsname=document.getElementById('goodsname').value;
				var goodsprice=document.getElementById('goodsprice').value;
				var gname=document.createTextNode(goodsname);
				var gprice=document.createTextNode(goodsprice);
				var dell=document.createTextNode('删除')
				var tr=document.createElement('tr');
				var td1=document.createElement('td');
				var td2=document.createElement('td');
				var td3=document.createElement('td');
				var bt=document.createElement('button');
				td1.appendChild(gname);
				td2.appendChild(gprice);
				bt.appendChild(dell);
				td3.appendChild(bt);
				tr.appendChild(td1);
				tr.appendChild(td2);
				tr.appendChild(td3);
				var last=document.getElementById('last');
				last.parentNode.insertBefore(tr,last);
				var a=document.getElementsByTagName('button');
				for (var i=0;i<a.length;i++) {				
					//document.getElementsByTagName('button')[i].setAttribute('class','delec');
					document.getElementsByTagName('button')[i].setAttribute('onclick','del(this)');
				}
				//document.getElementsByName('addd')[0].setAttribute('class','ad');
				document.getElementsByName('addd')[0].setAttribute('onclick','cli()');
			}
			
			function del(th){
				var tr=th.parentNode.parentNode;
				tr.parentNode.removeChild(tr);
			}
			
		</script>
	</body>
</html>

马飞同学的代码:

<script type="text/javascript">
			function del(th){
				var de=document.getElementById("del").parentNode;
				de.parentNode.remove("tr");
			}
			
			
			function add(){
				var tr=document.createElement("tr");
				var td1=document.createElement("td");
                var td2=document.createElement("td");
                var td3=document.createElement("td");
                var btn=document.createElement("button");
                
                
                var input1=document.getElementById("name").value
                var input2=document.getElementById("price").value
                
                
                var tx1=document.createTextNode(input1);
                var tx2=document.createTextNode(input2);
                var tx3=document.createTextNode("删除");
                
                td1.appendChild(tx1);
                td2.appendChild(tx2);
                btn.appendChild(tx3);
                btn.setAttribute("onclick","del(this)");
                
                td3.appendChild(btn);
   
                tr.appendChild(td1);
                tr.appendChild(td2);
                tr.appendChild(td3);
                
                
                var la = document.getElementById("last");
				la.parentNode.insertBefore(tr, la);
                
			}
		</script>

我觉得这道题很有挑战性,逻辑性很强如按我写的话;
希望大家勇于讨论;
写于2019/11/20晚
在这里插入图片描述

jQuery方法

<!DOCTYPE html>
<html>

	<head id="Head1">
		<title></title>
		<script type="text/javascript" src="js/jquery-3.4.1.min.js"></script>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<style>
			body {
				font-size: 12px;
				background-color: bisque;
			}
			
			form {
				margin: auto;
				width: 30%;
			}
			
			table {
				margin: auto;
				margin-top: 50px;
				width: 360px;
				border-collapse: collapse;
			}
			
			table tr th,
			td {
				border: solid 1px #666;
				text-align: center;
			}
			
			table tr td img {
				border: solid 1px #ccc;
				padding: 3px;
				width: 42px;
				height: 60px;
				cursor: hand
			}
			
			table tr td span {
				float: left;
				padding-left: 12px;
			}
			
			table tr th {
				background-color: #ccc;
				height: 32px
			}
		</style>

	</head>

	<body>
		<form id="info" action="#">
			<fieldset>
				<legend>球员资料</legend>
				<ol>
					<li>
						<label for="num">号码:</label>
						<input id="num" name="num" type="text" placeholder="请输球员号码" required autofocus>
					</li>
					<li>
						<label for=name>姓名:</label>
						<input id="name" name="name" type="text" placeholder="请输球员姓名" required>
					</li>
					<li>
						<label for=team>球队:</label>
						<input id="team" name="team" type="text" placeholder="请输球员球队">
					</li>
					<li>
						<label for=age>年龄:</label>
						<input id="age" name="age" type="text" placeholder="请输入球员年龄" required>
					</li>

				</ol>
			</fieldset>
		</form>

		<table id="tab">
			<tr>
				<th>选项</th>
				<th>号码</th>
				<th>姓名</th>
				<th>球队</th>
				<th>年龄</th>
			</tr>
			<tr id="0">
				<td><input id="Checkbox1" type="checkbox" value="0" /></td>
				<td>30</td>
				<td>库里</td>
				<td>勇士</td>
				<td>26</td>
			</tr>
			<tr id="1">
				<td><input id="Checkbox2" type="checkbox" value="1" /></td>
				<td>24</td>
				<td>kobe</td>
				<td>湖人</td>
				<td>38</td>
			</tr>
			<tr id="2">
				<td><input id="Checkbox3" type="checkbox" value="2" /></td>
				<td>3</td>
				<td>马布里</td>
				<td>北京</td>
				<td>38</td>
			</tr>
		</table>
		<table>
			<tr>
				<td style="text-align:left;height:28px">
					<span><input id="bt"     type="checkbox"  onclick="sele()"/>全选</span>
					<span><input id="bt1"    type="button" value="增加" class="btn"/></span>
					<span><input id="bt2"    type="button" value="删除" class="btn"/></span>
				</td>
			</tr>
		</table>

<script type="text/javascript">
	$("#bt").click(function() {
				if(this.checked) {
					$("#tab input").each(function() {
						this.checked = true;
					});
				} else {
					$("#tab input").each(function() {
						this.checked = false;
					});
				}
			});
	$("#bt1").click(function() {
				var num = $("#num").val();
				var name = $("#name").val();
				var team = $("#team").val();
				var age = $("#age").val();
				var len = $("#tab tr[id]").length;
				var tr = $('<tr id="' + len + '"><td><input id="Checkbox' + (len + 1) + '" type="checkbox" value="' + len + '"/></td><td>' + num + '</td><td>' + name + '</td><td>' + team + '</td><td>' + age + '</td></tr>');
				$("#tab").append(tr);
				// 清空
				$("#info").get(0).reset();
			});		
	$("#bt2").click(function() {
				$("#tab input:checked").each(function() {
					$(this).parent().parent().remove();
				});
			});		
</script>
</body>

</html>

写于2019/11/25晚
学习完jQuery感觉用jQuery写起来好用多了
希望两者结合更加给力

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JQuery是一个JavaScript库,可以用它来方便地操作HTML元素。以下是一个简单的示例,演示如何使用JQuery实现网页表格动态增加和删除内容。 首先,我们需要在HTML文件中引入JQuery库: ```html <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script> ``` 然后,我们可以在HTML文件中创建一个空的表格,并为其添加一个按钮,用于动态增加表格行: ```html <table id="myTable"> <thead> <tr> <th>Name</th> <th>Age</th> <th>Gender</th> </tr> </thead> <tbody> </tbody> </table> <button id="addRowBtn">Add Row</button> ``` 接下来,我们可以使用以下JQuery代码来实现动态增加表格行的功能: ```javascript $(document).ready(function() { // 给按钮添加点击事件 $('#addRowBtn').click(function() { // 创建一个新的表格行 var newRow = $('<tr>'); // 创建三个新的表格单元格,并为其添加数据 var nameCell = $('<td>').text('New Name'); var ageCell = $('<td>').text('New Age'); var genderCell = $('<td>').text('New Gender'); // 将这些单元格添加到新的表格行中 newRow.append(nameCell); newRow.append(ageCell); newRow.append(genderCell); // 将新的表格添加表格的tbody中 $('#myTable tbody').append(newRow); }); }); ``` 以上代码中,我们首先使用`$(document).ready()`来确保页面加载完毕后再执行代码。然后,我们给按钮添加了一个点击事件,当用户点击按钮时,我们会创建一个新的表格行,并向其中添加三个单元格,然后将新的表格添加表格的tbody中。 接下来,我们可以使用以下JQuery代码来实现动态删除表格行的功能: ```javascript $(document).ready(function() { // 给表格添加点击事件 $('#myTable tbody').on('click', 'tr', function() { // 移除被点击的表格行 $(this).remove(); }); }); ``` 以上代码中,我们使用了JQuery的`on()`方法来为表格的tbody中的所有表格添加一个点击事件。当用户点击任何一个表格行时,我们会将该表格行从DOM中移除。 综上所述,以上代码演示了如何使用JQuery实现网页表格动态增加和删除内容的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值