JavaScript实验一(添加节点,删除节点)
静态html页面:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style type="text/css">
#tid{border-collapse:collapse;}/*这个样式是 为表格设置单线条 #tid 是id选择器 下面表格中直接id="tid"就能够使用这个样式 (.a 类选择器 class="a")*/
</style>
</head>
<body>
<center>
<table name="tname" id="tid" border="1" cellpadding="10" cellspacing="2" >
<tbody id="tbody">
<tr bgcolor="#7fff00">
<th>名字</th>
<th>性别</th>
<th> </th>
</tr> <tr>
<td>
tom
</td>
<td>男</td>
<td><a href="#">删除</a></td>
</tr> <tr>
<td>jay</td>
<td>男</td>
<td><a href="#">删除</a></td>
</tr> <tr>
<td>小明</td>
<td>男</td>
<td><a href="#">删除</a></td>
</tr>
</tbody>
</table>
<h2>--------------------添加操作---------------------</h2>
name:<input name="name" id="textname" size="10">
male:<input name="male" id="textmale">
<input name="submit" type="submit" value="添加">
</center>
</body>
</html>
静态页面效果:

通过使用JavaScript代码 使该页面完成以下效果:
点击删除时 弹窗确认(删除jay)

单击确定 实现jay节点的删除

输入内容 进行添加(添加节点)

单击添加 内容添加至上边的表格中(添加一个节点)

同时保证这个刚添加的节点 也能过正常实现删除
JavaScript代码:
<script type="text/javascript">
window.onload=function(){ //获取所有的a节点
var anodes=document.getElementById("tid").getElementsByTagName("a");
for(var i=0;i<anodes.length;i++){//为每个a节点定义onclick处理事件
anodes[i].onclick=function(){
shanchudaoimpl(this);//执行删除的函数 参数传的是this 表示当前操作的超链接
}
} //调用添加函数
add();
} //定义去字符函数
function trim(text){
var reg=/^\s*|\s*$/g;
return text.replace(reg,"");
} //删除函数实现
function shanchudaoimpl(sc){
//获取单击列 的父类的父类 tr
var trnode=sc.parentNode.parentNode;
//获取单击列的 前面的文本
var textcontext=trnode.getElementsByTagName("td")[0].firstChild.nodeValue;
textcontext=trim(textcontext);//去除前后的空格 //现在已经得到了文本值
var flag=confirm("删除" +textcontext +"的信息");
if(flag){
//执行删除 通过trnode得到父节点 然后删除
trnode.parentNode.removeChild(trnode);
}
} //定义添加的函数
function add(){
//首先取得提交按钮节点 绑定onclick时间
var submit=document.getElementsByName("submit")[0];
submit.onclick=function(){
//alert("提交")
//首先获取对应的文本值
// var name=document.getElementsByName("name")[0];//第二种 通过属性值 获取 这种方式 不经常使用 返回了是一个集合数组
// var male=document.getElementsByName("male")[0];
// alert(name.value);
// alert(male.value);
// var name=document.getElementsByTagName("input")[0];//第三种 通过标签名进行获取 放回的同样是一个数组
// var male=document.getElementsByTagName("input")[0];
// alert(name.value);
// alert(name.value); var name=document.getElementById("textname");//第一种方式 通过id值获取
var male=document.getElementById("textmale"); //创建两个文本节点
var textnodename=document.createTextNode(name.value);
var textnodemale=document.createTextNode(male.value);
//alert(name.value);
//alert(male.value); //创建三个新的td节
var tdnode1=document.createElement("td");
var tdnode2=document.createElement("td");
var tdnode3=document.createElement("td"); //创建一个a节点
var a=document.createElement("a");
//设置a节点的值
a.href="#";
//a 节点中也要设置一个文本节点 将来在页面上显示的超链接就是这个 文本节点
var atext=document.createTextNode("删除");
//把该文本节点设置进a标签总
a.appendChild(atext); //因为刚加入的内容也是可以进行删除的 所以 这里需要为每一个刚创建的a节点 添加一个onclick事件
a.onclick=function(){
shanchudaoimpl(this);
} //在td中设置文本
tdnode1.appendChild(textnodename);
tdnode2.appendChild(textnodemale);
tdnode3.appendChild(a); //创建tr标签
var tr=document.createElement("tr");
//在tr中设置td
tr.appendChild(tdnode1);
tr.appendChild(tdnode2);
tr.appendChild(tdnode3);
//得到父类节点tbody
var tbody=document.getElementById("tbody");
tbody.appendChild(tr);
}
} </script>
JavaScript实验一(添加节点,删除节点)的更多相关文章
- 添加和删除节点(HTML 元素)。
JavaScript HTML DOM 元素(节点) 添加和删除节点(HTML 元素). 创建新的 HTML 元素 如需向 HTML DOM 添加新元素,您必须首先创建该元素(元素节点),然后向一 ...
- adoop集群动态添加和删除节点
hadoop集群动态添加和删除节点说明 上篇博客我已经安装了Hadoop集群(hadoop集群的安装步骤和配置),现在写这个博客我将在之前的基础上进行节点的添加的删除. 首先将启动四台机器(一主三从) ...
- jquery 添加和删除节点
// 增加一个三和一节点 function addPanel() { // var newPanel = $('.my-panel').clone(true) var newPanel = $(&qu ...
- Elasticsearch集群管理之添加、删除节点
1.问题抛出 1.1 新增节点问题 我的群集具有黄色运行状况,因为它只有一个节点,因此副本保持未分配状态,我想要添加一个节点,该怎么弄? 1.2 删除节点问题 假设集群中有5个节点,我必须在运行时删除 ...
- jQuery里面的DOM操作(查找,创建,添加,删除节点)
一:创建元素节点(添加) 创建元素节点并且把节点作为元素的子节点添加到DOM树上 append(): 在元素下添加元素 用法:$("id").append("定义的节点& ...
- CRS添加、删除节点
一.如何删除一个节点: 1.1 在存活的节点上操作,使用dbca删除DB实例 1.2 清除ASM实例 在存活的节点上做如下操作 1.2.1 停止ASM实例 export ORACLE_HOM ...
- 添加和删除节点(HTML元素)
创建新的HTML元素 <div id="div1"> <p id="p1">这是一个段落</p> <p id=&quo ...
- dojo Tree 添加、删除节点
var tree=this.tree; var store=tree.model.store; if(this.node){ console.log(this.node) var children=t ...
- hadoop 添加,删除节点
http://www.cnblogs.com/tommyli/p/3418273.html
随机推荐
- 在windows下怎样更新vundle?
本文出自Svitter的blog 更新Vundle的时候.不管是输出BundleInstall.还是PluginInstall! 都会调用系统的git,所以必须安装git才干达到目的更新插件. git ...
- spring中abstract bean的使用方法
什么是abstract bean?简单来说.就是在java中的继承时候,所要用到的父类. 案例文件结构: 当中Person类为父类.Student类为子类,其详细类为: package com.tes ...
- UIViewController生命周期控制
UIViewController生命周期控制 UIViewController介绍 官方的介绍例如以下 The UIViewController class provides the fundamen ...
- Additive equations--zoj
Additive equations Time Limit: 10 Seconds Memory Limit: 32768 KB We all understand that an inte ...
- 【转】win7下安装搭建tomcat服务器
原文网址:http://www.voidcn.com/blog/tianxiawuzhei/article/p-3450678.html 1.安装jdk,因为tomcat就是一个java程序,所以需要 ...
- Node.js:REPL(交互式解释器)
ylbtech-Node.js:REPL(交互式解释器) 1.返回顶部 1. Node.js REPL(交互式解释器) Node.js REPL(Read Eval Print Loop:交互式解释器 ...
- VUEJS2.0源码理解--优
VUEJS2.0源码理解 http://jiongks.name/blog/vue-code-review/#pingback-112428
- php 日期格式化
date('Y-m-d H:i:s',time()); 2014-09-01 05:06:01 date(' y-n-j G:i:s',time()); 14-9-1 5:06:01 mktime(h ...
- Python 3.x 判断 dict 是否包含某个键
Python 3.x不再支持 has_key() 函数,而被__contains__('key')所替代,会返回bool,可以用其做判断. 代码示例: >>> user = 'dad ...
- 21. Merge Two Sorted Lists[E]合并两个有序链表
题目 Merge two sorted linked lists and return it as a new list. The new list should be made by splicin ...