静态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>&nbsp</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实验一(添加节点,删除节点)的更多相关文章

  1. 添加和删除节点(HTML 元素)。

    JavaScript HTML DOM 元素(节点)   添加和删除节点(HTML 元素). 创建新的 HTML 元素 如需向 HTML DOM 添加新元素,您必须首先创建该元素(元素节点),然后向一 ...

  2. adoop集群动态添加和删除节点

    hadoop集群动态添加和删除节点说明 上篇博客我已经安装了Hadoop集群(hadoop集群的安装步骤和配置),现在写这个博客我将在之前的基础上进行节点的添加的删除. 首先将启动四台机器(一主三从) ...

  3. jquery 添加和删除节点

    // 增加一个三和一节点 function addPanel() { // var newPanel = $('.my-panel').clone(true) var newPanel = $(&qu ...

  4. Elasticsearch集群管理之添加、删除节点

    1.问题抛出 1.1 新增节点问题 我的群集具有黄色运行状况,因为它只有一个节点,因此副本保持未分配状态,我想要添加一个节点,该怎么弄? 1.2 删除节点问题 假设集群中有5个节点,我必须在运行时删除 ...

  5. jQuery里面的DOM操作(查找,创建,添加,删除节点)

    一:创建元素节点(添加) 创建元素节点并且把节点作为元素的子节点添加到DOM树上 append(): 在元素下添加元素 用法:$("id").append("定义的节点& ...

  6. CRS添加、删除节点

    一.如何删除一个节点: 1.1 在存活的节点上操作,使用dbca删除DB实例 1.2 清除ASM实例  在存活的节点上做如下操作  1.2.1 停止ASM实例    export ORACLE_HOM ...

  7. 添加和删除节点(HTML元素)

    创建新的HTML元素 <div id="div1"> <p id="p1">这是一个段落</p> <p id=&quo ...

  8. dojo Tree 添加、删除节点

    var tree=this.tree; var store=tree.model.store; if(this.node){ console.log(this.node) var children=t ...

  9. hadoop 添加,删除节点

    http://www.cnblogs.com/tommyli/p/3418273.html

随机推荐

  1. eclipse+maven的web项目访问jsp乱码

    在jsp中第一行加一句这个就不会乱码了 <%@ page language="java" import="java.util.*" pageEncodin ...

  2. 《深入浅出 Java Concurrency》——原子操作

    part1 从AtomicInteger開始 从相对简单的Atomic入手(java.util.concurrent是基于Queue的并发包.而Queue.非常多情况下使用到了Atomic操作.因此首 ...

  3. android 构建GPS Provide步骤及信息

    构建GPS Provide步骤及信息 1.   用GPS2GoogleEarth录制KML文件 2.   KML文件 2.1 经纬度解析 <LineString> <coordina ...

  4. 手游server之数据IO进化

    这里数据IO是指游戏数据存盘和读取. 假设IO处理不好.server在IO时会导致.游戏卡顿较长的时间,严重影响游戏体验. 近期服务端刚好对IO这一块做了优化,把优化过程记录一下. 一 原始版 刚開始 ...

  5. ADO.NET Entity Framework Extensions

    一.情景 如果你的项目中有返回多结果集的存储过程. 如果你的项目要和老项目中的ADO.Net共用事务. 如果你要动态的创建数据库的表. 但是你还是希望使用Entity Framework.那么继续往下 ...

  6. 每天五个java相关面试题(8)--spring篇

    首先呢,假设有从事前端开发的大神或者准备从事前端开发的小伙伴无意看到我这篇博客看到这段文字欢迎加我的QQ:[ 845415745 ].即将走入社会的菜鸟大学生有关于前端开发的职业问题想请教或者一起探讨 ...

  7. poj 1321(DFS)

    在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C. ...

  8. shp系列(二)——利用C++进行shp文件的读(打开)

    1.各数据类型及其字节数 BYTE 1;       char 1;    short 2;      int 4;    double 8; 2.位序big和little及其转换 对于位序是big的 ...

  9. NOIP2012D2T1 同余方程

    [NOIP2012T4]同余方程 noip2012-tg 描述 求关于 x的同余方程 ax ≡ 1(mod b) 的最小正整数解. 输入格式 输入文件 mod.in 输入只有一行,包含两个正整数a,b ...

  10. ridis 集群配置

    ./redis-cli -h 192.168.106.128 -p  6379 redis 1.ping 2.set str1 abc    get str1 3.  mkdir ../redis-c ...