JavaScript实现自动生成网页元素功能(按钮、文本等)


Posted in Javascript onNovember 21, 2015

创建元素的方法:

  • 1、利用createTextNode()创建一个文本对象
  • 2、利用createElement()创建一个标签对象
  • 3、直接利用容器标签中的一个属性:innerHTML-----本质上改该标签容器中的“html代码”,不是我们认为的对象树的操作

详解代码:

<body> 
 <input type="button" value="创建并添加节点1" onclick="addNode1()"/> 
 <input type="button" value="创建并添加节点2" onclick="addNode2()"/> 
 <input type="button" value="创建并添加节点3" onclick="addNode3()"/> 
 <input type="button" value="remove节点1 " onclick='removenode()'/> 
 <input type="button" value="replaceNode节点2替换 " onclick='remove2()'/><!--1替换2,并且1没有保留--> 
 <input type="button" value="clone替换 " onclick='clone()'/> 
 <div id="div_id1">这是div模块--</div> 
 <div id="div_id2">必须好好地学习,这样才能让自己有很好的回报</div> 
 <div id="div_id3">好好干,加油?(^ω^)?</div> 
 <div id="div_id4">你懂得区域,实验区域</div>   
</body>

方式一 :创建文本文档

<span style="font-size:18px;">function addNode1(){ 
   //1利用createTextNode()创建一个文本对象 
   var text=document.createTextNode("这是修改的,创建的文档"); 
   //2获取div对象 
   var node1=document.getElementById("div_id1"); 
   //添加成div对象的孩子 
   node1.appendChild(text);}</span><span style="font-size:24px;"> 
</span>

方式二:利用createElement()创建一个标签对象

function addNode2(){ 
   //1,利用createElement()创建一个标签对象 
   var nn=document.createElement("input"); 
   nn.type="button" 
   nn.value="创建的按钮"; 
   nn.target="_blank"; 
   //2,获得div对象 
   var node2=document.getElementById("div_id2"); 
   //添加成div对象的孩子 
   node2.appendChild(nn); 
  }

方式三:直接利用容器标签中的一个属性:innerHTML-----本质上改该标签容器中的“html代码”,不是我们认为的对象树的操作

function addNode3(){ 
    var mm=document.getElementById("div_id3"); 
    mm.innerHTML="<a href='http://www.baidu.com'><input type='button' value='新建的按钮'></a>"; 
    }
  • 删除节点

使用 removeNode 和 removeChild 从元素上删除子结点两种方法,通常采用第二种方法

function removenode(){ 
   var node =document.getElementById("div_id4"); 
//   alert(node.nodeName);//DIV 
//  自杀式 node.removeNode(true); //removeNode 从文档层次中删除对象。ie可以出现现象,一般不采用自杀式 
   node.parentNode.removeChild(node);////通过父节点去删除它的孩子,一般常用 
   alert("aa"); 
  }
  • 替换 没有保留替换的那个
function remove2(){ 
   var node1 =document.getElementById("div_id1"); 
   var node2 =document.getElementById("div_id2"); 
//   node1.replaceNode(node2);//自杀式不通用 
////通过父节点去替换它的孩子:用node1去替换node2 
   node1.parentNode.replaceChild(node1,node2);//object.replaceChild(oNewNode, oChildNode) 
  }
  • clone节点
function clone(){ 
  var node1 =document.getElementById("div_id1"); 
  var node2 =document.getElementById("div_id2"); 
  var node1_2=node1.cloneNode(true);//false只能clone基本的,不会clone下面的其他子节点 
  //克隆一个对象,默认参数为false。参数为true时,连子节点一起克隆 
  node1.parentNode.replaceChild(node1_2,node2); 
 }

效果图:

JavaScript实现自动生成网页元素功能(按钮、文本等)

全部的源代码:

<!DOCTYPE html> 
<html> 
 <head> 
 <title>DOM_operation.html</title> 
 <style type="text/css"> 
  div{ 
   border:#00f solid 1px; 
   width:200px; 
   height:100px; 
  } 
 </style> 
 <script type="text/javascript"> 
//AAAA 增  
  //方式一 创建文本文档 
  function addNode1(){ 
   //1利用createTextNode()创建一个文本对象 
   var text=document.createTextNode("这是修改的,创建的文档"); 
   //2获取div对象 
   var node1=document.getElementById("div_id1"); 
   //添加成div对象的孩子 
   node1.appendChild(text); 
  } 
   
  function addNode2(){ 
   //1,利用createElement()创建一个标签对象 
   var nn=document.createElement("input"); 
   nn.type="button" 
   nn.value="创建的按钮"; 
   nn.target="_blank"; 
   //2,获得div对象 
   var node2=document.getElementById("div_id2"); 
   //添加成div对象的孩子 
   node2.appendChild(nn); 
  } 
   
  //直接利用容器标签中的一个属性:innerHTML-----本质上改该标签容器中的“html代码”,不是我们认为的对象树的操作 
  function addNode3(){ 
    var mm=document.getElementById("div_id3"); 
    mm.innerHTML="<a href='http://www.baidu.com'><input type='button' value='新建的按钮'></a>"; 
     
  } 
//BBBBBB-------删   
  //删除节点 使用 removeNode 和 removeChild 从元素上删除子结点两种方法,通常采用第二种方法 
  function removenode(){ 
   var node =document.getElementById("div_id4"); 
//   alert(node.nodeName);//DIV 
//  自杀式 node.removeNode(true); //removeNode 从文档层次中删除对象。ie可以出现现象,一般不采用自杀式 
   node.parentNode.removeChild(node);////通过父节点去删除它的孩子,一般常用 
   alert("aa"); 
  } 
  //替换 没有保留替换的那个 
  function remove2(){ 
   var node1 =document.getElementById("div_id1"); 
   var node2 =document.getElementById("div_id2"); 
//   node1.replaceNode(node2);//自杀式不通用 
////通过父节点去替换它的孩子:用node1去替换node2 
   node1.parentNode.replaceChild(node1,node2);//object.replaceChild(oNewNode, oChildNode) 
  } 
  function clone(){ 
   var node1 =document.getElementById("div_id1"); 
   var node2 =document.getElementById("div_id2"); 
   var node1_2=node1.cloneNode(true);//false只能clone基本的,不会clone下面的其他子节点 
   //克隆一个对象,默认参数为false。参数为true时,连子节点一起克隆 
   node1.parentNode.replaceChild(node1_2,node2); 
  } 
 </script> 
 </head> 
 
 <body> 
 <input type="button" value="创建并添加节点1" onclick="addNode1()"/> 
 <input type="button" value="创建并添加节点2" onclick="addNode2()"/> 
 <input type="button" value="创建并添加节点3" onclick="addNode3()"/> 
 <input type="button" value="remove节点1 " onclick='removenode()'/> 
 <input type="button" value="replaceNode节点2替换 " onclick='remove2()'/><!--1替换2,并且1没有保留--> 
 <input type="button" value="clone替换 " onclick='clone()'/> 
 <div id="div_id1">这是div模块--</div> 
 <div id="div_id2">必须好好地学习,这样才能让自己有很好的回报</div> 
 <div id="div_id3">好好干,加油?(^ω^)?</div> 
 <div id="div_id4">你懂得区域,实验区域</div> 
  
  
 </body> 
</html>

以上就是为大家分享如何通过JavaScript实现自动生成网页元素功能的方法,希望对大家的学习有所帮助。

Javascript 相关文章推荐
我见过最全的个人js加解密功能页面
Dec 12 Javascript
select标记美化--JS式插件、后期加载
Apr 01 Javascript
在Node.js中使用HTTP上传文件的方法
Jun 23 Javascript
仅30行代码实现Javascript中的MVC
Feb 15 Javascript
JS触发服务器控件的单击事件(详解)
Aug 06 Javascript
解决Node.js使用MySQL出现connect ECONNREFUSED 127.0.0.1:3306的问题
Mar 09 Javascript
Bootstrap进度条与AJAX后端数据传递结合使用实例详解
Apr 23 Javascript
JSON对象转化为字符串详解
Aug 11 Javascript
KOA+egg.js集成kafka消息队列的示例
Nov 09 Javascript
微信小程序显示倒计时功能示例【测试可用】
Dec 03 Javascript
JS求解两数之和算法详解
Apr 28 Javascript
vue v-on:click传递动态参数的步骤
Sep 11 Javascript
javascript实现Email邮件显示与删除功能
Nov 21 #Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件包装
Nov 20 #Javascript
Jquery ajax基础教程
Nov 20 #Javascript
谈谈Jquery ajax中success和complete有哪些不同点
Nov 20 #Javascript
jQuery实现带玻璃流光质感的手风琴特效
Nov 20 #Javascript
JQuery.Ajax()的data参数类型实例详解
Nov 20 #Javascript
Jquery Ajax Error 调试错误的技巧
Nov 20 #Javascript
You might like
关于PHP的相似度计算函数:levenshtein的使用介绍
2013/04/15 PHP
PHP入门之常量简介和系统常量
2014/05/12 PHP
自编函数解决pathinfo()函数处理中文问题
2014/11/03 PHP
PHP简单操作MongoDB的方法(安装及增删改查)
2016/05/26 PHP
PHP手机短信验证码实现流程详解
2018/05/17 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
比较全面的event对像在IE与FF中的区别 推荐
2009/09/21 Javascript
JS实现鼠标经过好友列表中的好友头像时显示资料卡的效果
2014/07/02 Javascript
Windows8下搭建Node.js开发环境教程
2014/09/03 Javascript
理解JavaScript表单的基础知识
2016/01/25 Javascript
javascript的列表切换【实现代码】
2016/05/03 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
2016/10/10 Javascript
jQuery实现删除li节点的方法
2016/12/06 Javascript
深入浅出理解JavaScript高级定时器原理与用法
2018/08/02 Javascript
koa上传excel文件并解析的实现方法
2018/08/09 Javascript
vuex + axios 做登录验证 并且保存登录状态的实例
2018/09/16 Javascript
iview实现图片上传功能
2020/06/29 Javascript
JS操作JSON常用方法(10w阅读)
2020/12/06 Javascript
分析python服务器拒绝服务攻击代码
2014/01/16 Python
Python实现给文件添加内容及得到文件信息的方法
2015/05/28 Python
让Python代码更快运行的5种方法
2015/06/21 Python
Python自动登录126邮箱的方法
2015/07/10 Python
Python实现连接postgresql数据库的方法分析
2017/12/27 Python
Python参数解析模块sys、getopt、argparse使用与对比分析
2019/04/02 Python
Django 对IP访问频率进行限制的例子
2019/08/30 Python
利用Python计算KS的实例详解
2020/03/03 Python
python PyAUtoGUI库实现自动化控制鼠标键盘
2020/09/09 Python
CSS3 真的会替代 SCSS 吗
2021/03/09 HTML / CSS
国家地理在线商店:Shop National Geographic
2018/06/30 全球购物
Nº21官方在线商店:numeroventuno.com
2019/09/26 全球购物
什么是SQL Server的确定性函数和不确定性函数
2016/08/04 面试题
全民健身日活动方案
2014/01/29 职场文书
经典毕业生求职信
2014/07/12 职场文书
Jsonp劫持学习
2021/04/01 PHP
JS的深浅复制详细
2021/10/16 Javascript
Java 死锁解决方案
2022/05/11 Java/Android