10.6替换节点

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
 var newBuild
 function execution(){
  document.forms[0].onsubmit = nodeChanger;
  newBuild = document.getElementById("newBuild");                     
 };
 function addElement(){
  var textareaValue = document.getElementById("textarea").value; //获取textarea的值
  var newText = document.createTextNode(textareaValue); //新建文本节点值为textarea的值
  var para = document.createElement("p"); //新建p元素节点
  para.appendChild(newText); //新建文本节点的值插入到新建的p元素里面
  newBuild.appendChild(para); //新建的p元素插入到id为newBuild的div里面
 };
 function deleteElement(){
  var listOption = document.getElementById("listOption").selectedIndex; //获取select下拉列表索引
  var allp = document.getElementsByTagName("p"); //获取p元素
  var replanting = allp.item(listOption); //设置p元素为select下拉列表索引 将p元素和下拉列表索引对应
  newBuild.removeChild(replanting); //从id为newBuild的div内删除p元素为select下拉列表索引的元素
 };
 function insterNode(){
  var listOption = document.getElementById("listOption").selectedIndex; //获取select下拉列表索引
  var textareaValue = document.getElementById("textarea").value; //获取textarea的值
 
  var newText = document.createTextNode(textareaValue);  //新建文本节点值为textarea的值
  var para = document.createElement("p"); //新建p元素节点
  para.appendChild(newText); //新建文本节点的值插入到新建的p元素里面
  var newPara = newBuild.getElementsByTagName("p");//从id为newBuild的div对象中获取所有p元素
  var replanting = newPara.item(listOption); //p元素索引重栽为select下拉列表索引
  newBuild.insertBefore(para,replanting); //新建p元素插入到 索引和下拉列表相同的索引的p元素的前面
 };
 function raplaceNode(){
  var listOption = document.getElementById("listOption").selectedIndex; //获取select下拉列表索引
  var textareaValue = document.getElementById("textarea").value; //获取textarea的值
 
  var newText = document.createTextNode(textareaValue);  //新建文本节点值为textarea的值
  var para = document.createElement("p"); //新建p元素节点
  para.appendChild(newText); //新建文本节点的值插入到新建的p元素里面
  var newPara = newBuild.getElementsByTagName("p");//从id为newBuild的div对象中获取所有p元素
  var replanting = newPara.item(listOption); //p元素索引重栽为select下拉列表索引
  newBuild.replaceChild(para,replanting); //新建p元素替换原有p元素 可以指定替换哪个索引的p元素
 };
 function nodeChanger(){
  var actionType = -1; //初始化actionType为-1
  var newPara = newBuild.getElementsByTagName("p").length; //从id为newBuild的div对象中获取所有p元素节点的长度
  var myInput = document.forms[0].radioAction; // 获取所有的单选按钮
 
  for(var i=0;i<myInput.length;i++){  //循环遍历素有单选按钮
   if(myInput[i].checked){ //如果按钮选中  
     actionType = i; //设置acitionType值为i
   }                 //由于i是数组myInput的索引 所用用switch来判断i的值 如果为0就是获取到了第一个input元素                         
  };                                                              //如果为1就是获取到了第二个input元素
  switch(actionType){ //循环遍历所有单选按钮
   case 0:            //如果actionType值为0 也就是选中第一个按钮
    addElement();   //执行addElement函数 这个函数的作用是把textarea的值插入到新建的p元素内再把p元素插入到id为newBuild的div内
 break;
   case 1:          //如果actionType值为1 也就是选中的二个按钮 
    if(newPara > 0){ //如果id为newBuild的div内的p元素的长度大于0 也就是有至少一个p元素
  deleteElement(); //执行deleteElement函数 这个函数的作用是设置p元素为select下拉列表索引 并且从id为newBuild的div内删除为下拉列表索引的p元素
  break;          
 }
   case 2:         //如果actionType值为2 也就是选中第三个按钮
    if(newPara > 0){
  insterNode();
  break;
 } 
   case 3:         //如果actionType值为3 也就是选中第四个按钮
    if(newPara > 0){
  raplaceNode();
  break;
 }                  
   default:          
    alert("No valid action was chosen");  
  };
 
  document.getElementById("listOption").options.length = 0; //初始化下拉列表长度为0
  for(var i = 0; i<newBuild.getElementsByTagName("p").length; i++){ //遍历id为newBuild的div内部的p元素
    document.getElementById("listOption").options[i] = new Option(i+1)  //下拉列表的选项为新建的选项的索引加1;
  }
  return false;
 };    
 window.onload = execution;             
</script>
</head>

<body>
 <form action="#">
 <textarea id="textarea" rows="5" cols="25"></textarea>
 <input type="radio" name="radioAction" />添加
 <input type="radio" name="radioAction" />删除
 <input type="radio" name="radioAction" />insertBefore
 <input type="radio" name="radioAction" />replace
 序列号:<select id="listOption"></select>
 <input type="submit" value="Submit"/>
</form>
<div id="newBuild"></div>
</body>
</html>

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值