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

创建元素的方法:

  • 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);
 } 

效果图:

全部的源代码:

<!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实现自动生成网页元素功能的方法,希望对大家的学习有所帮助。

(0)

相关推荐

  • js调用打印机打印网页字体总是缩小一号的解决方法

    今天要做一个打印网页的小功能,直接调用window.print(),但是打印出来后,字体总是缩小一号,找不到原因... 后来尝试用一个IE的打印控件,但仅支持ie有点恶心,只能返回去继续找原因 原来,我要打印的页面因为是哥弹出层,所以出现这种现象,后来直接target="_blank",就可以正常打印了. 另外, 复制代码 代码如下: function preview() { bdhtml=window.document.body.innerHTML; sprnstr="&l

  • 原生JS操作网页给p元素添加onclick事件及表格隔行变色

    1. 给网页中的所有p元素添加onclick事件: 复制代码 代码如下: <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <html> <head> <title>Insert title here</title> <!-- <script src="jQuery/jquery-1.10.2.

  • JavaScript中计算网页中某个元素的位置

    由于项目的需要,测试中需要对网页元素进行截图,以确保它看上去没有问题.之前我写过一篇文章介绍过一种方法,先使用 WebDriver 进行全屏截图,然后根据目标元素(DOM Element)所在的位置,再对截下来的图片进行剪裁,保留我们需要的位置即可. 那段代码一直都工作得很好,直到我知道了一个东西:iframe.iframe(普通的 frame 也是一样的,不过 frame 现在不太常见,这里只用 iframe 举例)中的内容被视为一个独立的网页,连 Window 对象也是和它的父级网页分开的.

  • JavaScript实现更改网页背景与字体颜色的方法

    本文实例讲述了JavaScript实现更改网页背景与字体颜色的方法.分享给大家供大家参考.具体分析如下: JavaScript,通过点击按钮更改网页背景与字体的颜色,网页中有N个改变颜色的按钮,点击不同的按钮,网页的字体与背景就会改变成不同的颜色.很简单的JavaScript小程序. 一.基本目标 一打开网页首先提示问候信息"你好" 网页中有N个改变颜色的按钮,其中返回是返回网页的默认颜色,背景是白的,字体是黑的 点击不同的按钮,网页的字体与背景就会改变成不同的颜色. 本来想做出彩虹起

  • js简单实现调整网页字体大小的方法

    本文实例讲述了js简单实现调整网页字体大小的方法.分享给大家供大家参考,具体如下: //var tgs = new Array('div','td','tr'); var tgs = new Array('td','tr'); //Specify spectrum of different font sizes: //var szs = new Array( 'xx-small','x-small','small','medium','large','x-large','xx-large' );

  • JavaScript动态修改网页元素内容的方法

    本文实例讲述了JavaScript动态修改网页元素内容的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码当用户点击提交按钮后,通过元素的textContent或者innerHTML动态指定元素的内容 <script type="text/javascript"> function showCard() { var message = document.getElementById("CCN").value; var element = docu

  • js获取及修改网页背景色和字体色的方法

    本文实例讲述了js获取及修改网页背景色和字体色的方法.分享给大家供大家参考,具体如下: 获得网页的背景色和字体颜色,方法如下: 思想: 通过取得颜色属性值得到的是 rgb 色,不是我们想要的,所以需要将 rgb 色装换为 十六进制色 ,首先获得rgb色 : 代码如下: 复制代码 代码如下: var rgb = document.getElementById('color').style.backgroundColor; 得到格式如下: rgb(225, 22, 23); 然后进行拆分: 代码如下

  • js获得网页背景色和字体色的方法

    获得网页的背景色和字体颜色,方法如下: 思想: 通过取得颜色属性值得到的是 rgb 色,不是我们想要的,所以需要将 rgb 色装换为 十六进制色 ,首先获得rgb色 : 复制代码 代码如下: var rgb = document.getElementById('color').style.backgroundColor: 得到格式如下: rgb(225, 22, 23); 然后进行拆分: 复制代码 代码如下: var rgb = rgb.split('(')[1]; //拆分后为 [rgb, 2

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

    创建元素的方法: 1.利用createTextNode()创建一个文本对象 2.利用createElement()创建一个标签对象 3.直接利用容器标签中的一个属性:innerHTML-----本质上改该标签容器中的"html代码",不是我们认为的对象树的操作 详解代码: <body> <input type="button" value="创建并添加节点1" onclick="addNode1()"/>

  • 用javascript实现自动输出网页文本

    用javascript实现自动输出网页文本,用了setTimeout(),递归和String.substring();两个函数实现此功能,下面把实现代码分享给大家. 做出的效果就像是有一个打字员在打字. <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content=&q

  • Python3自动生成MySQL数据字典的markdown文本的实现

    为啥要写这个脚本 五一前的准备下班的时候,看到同事为了做数据库的某个表的数据字典,在做一个复杂的人工操作,就是一个字段一个字段的纯手撸,那速度可想而知是多么的折磨和锻炼人的意志和耐心,反正就是很耗时又费力的活,关键是工作效率太低了,于是就网上查了一下,能否有在线工具可用,但是并没有找到理想和如意的,于是吧,就干脆自己撸一个,一劳永逸,说干就干的那种-- 先屡一下脚本思路 第一步:输入或修改数据库连接配置信息,以及输入数据表名 第二步:利用pymysql模块连接数据库,并判断数据表是否存在 第三步

  • js自动生成的元素与页面原有元素发生堆叠的解决方法

     商品属性和商品规格是js动态生成的元素,商品扩展信息的两个文本框是原有的元素,他们发生堆叠,我以为是我生成的元素所在div大小不固定导致的,因为商品规格的下面复选框是第二次ajax生成的,我怀疑第二次ajax是不是不能将页面原有元素向下推到合适的位置. 搞了几个小时,尝试固定元素所在容器div的的大小,但是不好固定啊,元素的个数是不定的,尝试改变属性和规格的生成顺序,属性部分堆到规格部分上去了,规格部分的元素怎么不独立占位置呢,后来才想到会不会是浮动了,去除浮动,给原有元素(商品扩展信息部分)

  • JavaScript 版本自动生成文章摘要

    实现内容:截断一段含有HTML代码的文本,但是不会出现围堵标记没有封闭的问题. php版本地址核心部分如下: 复制代码 代码如下: function Generate_Brief(text,length){ if(text.length < length) return text; var Foremost = text.substr(0,length); var re = /<(\/?) (BODY|SCRIPT|P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|TAB

  • ASP.NET实现根据URL生成网页缩略图的方法

    本文实例讲述了ASP.NET实现根据URL生成网页缩略图的方法.分享给大家供大家参考,具体如下: 工作中需要用到根据URL生成网页缩略图功能,提前做好准备. 在网上找了份源码,但是有错误:当前线程不在单线程单元中,因此无法实例化 ActiveX 控件"8856f961-340a-11d0-a9",解决后运行良好,记录在此备用! 起始页:Default.aspx <%@ Page Language="C#" AutoEventWireup="true&

  • JavaScript实现自动消除按钮功能的方法

    本文实例讲述了JavaScript实现自动消除按钮功能的方法.分享给大家供大家参考.具体如下: 这里使用JavaScript自动消除前项显示的内容,在网页特定方位显示内容,第一个按钮可用,但第二个在第一个点击之后就不能用了,如果想让第二个按钮起作用,你需要对其进行功能消除,如本示例代码就实现这样一种功能. 运行效果如下图所示: 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "

  • 使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)

    效果图展示,感觉不错可以参考实例代码. 具体代码如下所示: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document

  • js简单实现自动生成表格功能示例

    本文实例讲述了js简单实现自动生成表格功能.分享给大家供大家参考,具体如下: JS实现自动生成表格 由于自己的算法8太行,所以只能尽量用简单点的方法实现效果 下面直接上代码 <table id="table"> <thead> <td>姓名</td> <td>年龄</td> <td>身高</td> </thead> <tbody></tbody> <

随机推荐