<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>

<head>

<title>用javascript动态添加删除html元素</title>

<script type="text/javascript"><!-- 

function $(nodeId) { 

return document.getElementById(nodeId); 

} 

function $Name(tagName) { 

return document.getElementsByTagName(tagName); 

} 

function replaceMsg() { 

var newNode = document.createElement("P");//创建一个P标签 

newNode.innerHTML = "<font color='red'>替换后的文字</font>"; 

var oldNode = $Name("P")[0];//获取body里面第一个p元素 

oldNode.parentNode.replaceChild(newNode,oldNode);//直接替换了标签 

} 

function removeMsg() { 

var node = $("p2");//p标签 

var nodeBtn = $("remove");//按钮 

//node.parentNode.removeChild(node); //下面效果相同 

document.body.removeChild(node);//在body中删除id为P2的元素 

//nodeBtn.parentNode.removeChild(nodeBtn);//删除该按钮 

document.body.removeChild(nodeBtn); 

//document.body.removeNode();执行这条语句将清空body里面的任何元素 

} 

function addbefore() { 

var newNode = document.createElement("p");//创建P标签 

//var newText = document.createTextNode("前面添加的元素"); 

//newNode.appendChild(newText);//与下面效果一样 

newNode.innerHTML = "<font color='red'>前面添加的元素</font>";//书写P标签里面的内容 

var oldNode = $("p3");//目标标签 

//document.body.insertBefore(newNode,oldNode); 

oldNode.parentNode.insertBefore(newNode,oldNode);//在目标标签前面添加元素 

} 

function addlast() { 

var newNode = document.createElement("p");//创建P标签 

//var newText = document.createTextNode("后面添加的元素"); 

//newNode.appendChild(newText);//与下面效果一样 

newNode.innerHTML = "<font color='red'>后面添加的元素</font>"; 

var oldNode = $("p3"); 

oldNode.appendChild(newNode); 

//document.body.appendChild(newNode);//如果使用该方法,则在body的最后添加元素 

} 

window.onload = function addArrayMsg() { 

var arrayMsg = ['one','two','three','four','five'];//创建数组 

var fragment = document.createDocumentFragment();//创建文档片段 

var newNode ; 

for (var i=0 ;i<arrayMsg.length ;i++ ) { 

newNode = document.createElement("P");//创建P标签 

var nodeText = document.createTextNode(arrayMsg[i]);//创建文本标签,value为数组里面的值 

newNode.appendChild(nodeText);// 

fragment.appendChild(newNode);//把P标签追加到fragment里面 

} 

document.body.appendChild(fragment);//把fragment追加到body里面 

} 

function addRow() { 

var tab = $("myTable"); 

//tab.createCaption().innerHTML="<font color='red'>我的表格</font>"; 

var oldTr = $("handleTr"); 

var newTr = tab.insertRow();//创建一行 

var newTd1 = newTr.insertCell();//创建一个单元格 

var newTd2 = newTr.insertCell();//创建一个单元格 

newTd1.innerHTML = "<input type='checkbox' />"; 

newTd2.innerHTML = "<div class='division clearfix' id='goods_value'><div class='span-3'> <span title='09春季新款简约大方高雅修身针织连衣裙983配腰带'> <a href='?product-55.html'>09春季新款简约大方高雅修身针织连衣裙983配腰带 </a> </span> </div> <a class='floatRight lnk' href='#' onclick=''>删除</a> </div>" ;

} 

function removeRow() { 

var tab = $("myTable"); 

// if(tab.rows.length>0){ 

// tab.deleteRow(); 

// if(tab.rows.length==1) 

// tab.deleteCaption(); 

// } 

var cbbox ; 

for(var i=0;i<tab.rows.length;i++){ 

cbbox = tab.rows[i].childNodes[0].childNodes[0];//获取input元素 

if(cbbox.checked){ 

tab.deleteRow(i--); 

} 

} 

} 

//全选 

function selAll(value){ 

var items = document.all.tags("input");//获取页面上所有的input元素 

for(var i = 0;i<items.length;i++){ 

if(items[i].type=="checkbox"){//判断类型是否为checkbox 

items[i].checked = value.checked; 

} 

} 

} 

function getInputValue() { 

var inputArray = new Array();//创建一个数组 

var tab = $("myTable"); 

var tbInput; 

for(var i=0;i<tab.rows.length;i++){ 

tbInput = tab.rows[i].childNodes[1].childNodes[0].value; 

if(tbInput!=""&&tbInput!=null) 

inputArray.push(tbInput); 

} 

inputArray = inputArray.join("*^&");//默认以","号连接 

$("showValue").value = inputArray; 

} 

var x ='10+20'; 

("alert(x);") 

// --></script>

</head>

<body>

<p id="p1">Hello World!

  <input type="button" value="替换内容" onclick="replaceMsg();" />

<p id="p2">我可以被删除!

  <input type="button" id="remove" value="删除它" onclick="removeMsg();" />

<p id="p3">在我上下添加一个元素吧!

  <input type="button" id="addbefore" value="前面添加" onclick="addbefore();" />

  <input type="button" id="addlast" value="后面添加" onclick="addlast();" />

<div style="border:1px solid blue;height:300px">

<table id="myTable" cellpadding="0" cellspacing="0" border="1px solid blue" style="padding:4px;" style="padding:4px;">

</table>

<input type="checkbox" onclick="selAll(this);" />

<input type="button" value="添加一行" id="addRow" onclick="addRow();" />

<input type="button" value="删除一行" id="removeRow" onclick="removeRow();" />

<textarea rows="5" cols="25" id="showValue" />

</div>

</p>

</p>

</p>

</body></html>

用Javascript动态添加删除HTML元素实例 (转载)的更多相关文章

  1. ztree : checkbox 选中/不选中时动态添加/删除DOM元素

    先上代码. var IDMark_Switch = "_switch", IDMark_Icon = "_ico", IDMark_Span = "_ ...

  2. javascript实现的动态添加表单元素input,button等(appendChild)

    写一个小系统时,需要动态添加表单元素,按自己的实现方法写了这篇教程! 我想各位在很多网站上都看到过类似的效果! 1.先用document.createElement方法创建一个input元素! 代码如 ...

  3. 编辑 Ext 表格(一)——— 动态添加删除行列

    一.动态增删行 在 ext 表格中,动态添加行主要和表格绑定的 store 有关, 通过对 store 数据集进行添加或删除,就能实现表格行的动态添加删除.   (1) 动态添加表格的行  gridS ...

  4. 【javascript 动态添加数据到 HTML 页面】

    今天简单的学习了一下有关对象字面量的定义和 javascript 如何取出对象字面量的值的知识,javascript 动态添加数据到 HTML 页面的问题. [学习目标]有如下的一组数据通过 Ajax ...

  5. jquery动态添加删除div--事件绑定,对象克隆

    我想做一个可以动态添加删除div的功能.中间遇到一个问题,最后在manong123.com开发文摘 版主的热心帮助下解答了(答案在最后) 使用到的jquery方法和思想就是:事件的绑定和销毁(unbi ...

  6. jQuery动态添加删除CSS样式

    jQuery框架提供了两个CSS样式操作方法,一个是追加样式addClass,一个是移除样式removeClass,下面通过一个小例子讲解用法. jQuery动态追加移除CSS样式 <!DOCT ...

  7. JS动态添加删除html

    本功能要求是页面传一个List 集合给后台而且页面可以动态添加删除html代码需求如下: 下面是jsp页面代码 <%@ page language="java" pageEn ...

  8. js实现网页收藏功能,动态添加删除网址

    <html> <head> <title> 动态添加删除网址 </title> <meta charset="utf-8"&g ...

  9. 转: javascript动态添加、修改、删除对象的属性和方法

    在其他语言中,对象一旦生成,就不可更改了,要为一个对象添加修改成员必须要在对应的类中修改,并重新实例化,而且程序必须经过重新编译.JavaScript 中却非如此,它提供了灵活的机制来修改对象的行为, ...

随机推荐

  1. css3箭头效果

    css3 record1 尝试用css写了个箭头效果 思路就是通过span和span子元素i分别通过设置他们的伪元素构造两个箭头,但是i构造的箭头两条线height都是0,hover的时候渐近的动画效 ...

  2. zoj3806Incircle and Circumcircle

    链接 自己的本本没有装画图软件,先借用两张图片..博客园不让贴源地址... 可以想到对于一个确定的外接圆的三角形来说内切圆最大的时候为等边三角形,如下图: 确定有合法的解之后,接下来就是去找这个解,解 ...

  3. 程序设计入门——C语言 第6周编程练习 1 分解质因数(5分)

    1 分解质因数(5分) 题目内容: 每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数.比如,6可以被分解为2x3,而24可以被分解为2x2x2x3. ...

  4. mybatis2

    正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持 一级缓存: 基于PerpetualCache 的 HashMap本地缓存,其存储作用域为 Session,当 Sessio ...

  5. Rdseed与SAC的安装

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  6. 安装idea开发工具

    1.网上去下载一个安装包,有的是需要注册码的(可以网上搜索注册码) 2.设置快捷键,可以直接选择使用eclipse的快捷键 3.配置maven 4.配置Git 5.配置tomcat

  7. C4.5,CART,randomforest的实践

    #################################Weka-J48(C4.5)################################# ################### ...

  8. HTML 格式化等处理方法

    1.处理特殊字符串,清除空格,换行等 function DeleteHtml($str) { $str = trim ( $str ); // 清除字符串两边的空格 $str = preg_repla ...

  9. hg0088新2网址

    封装通俗的说,就是我有一些秘密不想让人知道,就通过私有化变量和私有化方法,这样外界就访问不到了.hg0088新2网址然后如果你有一些很想让大家知道的东西,你就可以通过this创建的属性看作是对象共有属 ...

  10. 后台接收前台传入的json 数据

    引入JSONArray的类型为org.json而不是net.sf.json,笔者开始引入的是net.sf.json.JSONArray, 但JSONObject.fromObject(obj)时报错报 ...