DOM对象模型高级编程(删改)
2016-07-21 17:25
435 查看
<!doctype html>
<html>
<head>
<title>新内容</title>
<style type="text/css">
#div{
border:1px solid red;
height:500px;
}
</style>
<!--
DOM的操作: 查找 , 增加
克隆: var 复制品 = obj.cloneNode(true/false)
true : 完全复制
false: 只复制自己
删除: obj.parentNode.removeChild(obj)
修改: old.父节点.replaceChild(new,old);
-->
<script type="text/javascript">
function cleanWhitespaceDG(nodeObj){
for(var i=nodeObj.childNodes.length-1;i>=0;i--){
var node=nodeObj.childNodes[i];
if(node.nodeType==3 && /\s/.test(node.nodeValue)){ //文本节点 并且 文本节点的值为空白
node.parentNode.removeChild(node);
continue;
}
cleanWhitespaceDG(node);
}
}
function cloneDiv (){//克隆Div
var div = document.getElementById("div");
cleanWhitespaceDG(div); //把div中的所有空白节点全部清除
var c = div.cloneNode(false); //调用克隆
document.body.appendChild(c); //把复制品追加到网页最后
}
function cleanWhitespaceDG(nodeObj){
for(var i=nodeObj.childNodes.length-1;i>=0;i--){
var node=nodeObj.childNodes[i];
if(node.nodeType==3 && /\s/.test(node.nodeValue)){ //文本节点 并且 文本节点的值为空白
node.parentNode.removeChild(node);
continue;
}
cleanWhitespaceDG(node);
}
}
/*
number
string
boolean
undefined
null
*/
function reSecRow (){ //删除第二行
//1. 找到第二行对象,也就是tr对象
var tr = document.getElementById("tab").firstChild.lastChild;
if(tr!=null){
//2. 让tr的父节点调用remove删除tr自己
tr.parentNode.removeChild(tr);
}else{
alert("删除有误!");
}
}
function repGirl (){ //替换美女
//找到需要替换的元素
var img = document.getElementById("img");
//创建一个新的元素, 用来替换旧元素
var newImg = document.createElement("img");
newImg.src="28.gif";
newImg.width="200";
//替换 用旧的元素执行替换过程
img.parentNode.replaceChild(newImg,img);
}
function myload(){
var obj=document.body;
cleanWhitespaceDG(obj);
}
</script>
</head>
<body onload="myload()">
<input type="button" value="克隆Div" onclick="cloneDiv()">
<input type="button" value="删除第二行" onclick="reSecRow()">
<input type="button" value="替换美女" onclick="repGirl()">
<div id="div">
<table id="tab"border="1" width="400px" height="300px">
<tbody>
<tr>
<td>111</td>
<td>222</td>
<td>333</td>
<td>444</td>
</tr>
<tr>
<td>555</td>
<td>666</td>
<td>777</td>
<td>888</td>
</tr>
</tbody>
</table>
<img src="13.gif" width="200px" id="img" />
</div>
</body>
</html>
<html>
<head>
<title>新内容</title>
<style type="text/css">
#div{
border:1px solid red;
height:500px;
}
</style>
<!--
DOM的操作: 查找 , 增加
克隆: var 复制品 = obj.cloneNode(true/false)
true : 完全复制
false: 只复制自己
删除: obj.parentNode.removeChild(obj)
修改: old.父节点.replaceChild(new,old);
-->
<script type="text/javascript">
function cleanWhitespaceDG(nodeObj){
for(var i=nodeObj.childNodes.length-1;i>=0;i--){
var node=nodeObj.childNodes[i];
if(node.nodeType==3 && /\s/.test(node.nodeValue)){ //文本节点 并且 文本节点的值为空白
node.parentNode.removeChild(node);
continue;
}
cleanWhitespaceDG(node);
}
}
function cloneDiv (){//克隆Div
var div = document.getElementById("div");
cleanWhitespaceDG(div); //把div中的所有空白节点全部清除
var c = div.cloneNode(false); //调用克隆
document.body.appendChild(c); //把复制品追加到网页最后
}
function cleanWhitespaceDG(nodeObj){
for(var i=nodeObj.childNodes.length-1;i>=0;i--){
var node=nodeObj.childNodes[i];
if(node.nodeType==3 && /\s/.test(node.nodeValue)){ //文本节点 并且 文本节点的值为空白
node.parentNode.removeChild(node);
continue;
}
cleanWhitespaceDG(node);
}
}
/*
number
string
boolean
undefined
null
*/
function reSecRow (){ //删除第二行
//1. 找到第二行对象,也就是tr对象
var tr = document.getElementById("tab").firstChild.lastChild;
if(tr!=null){
//2. 让tr的父节点调用remove删除tr自己
tr.parentNode.removeChild(tr);
}else{
alert("删除有误!");
}
}
function repGirl (){ //替换美女
//找到需要替换的元素
var img = document.getElementById("img");
//创建一个新的元素, 用来替换旧元素
var newImg = document.createElement("img");
newImg.src="28.gif";
newImg.width="200";
//替换 用旧的元素执行替换过程
img.parentNode.replaceChild(newImg,img);
}
function myload(){
var obj=document.body;
cleanWhitespaceDG(obj);
}
</script>
</head>
<body onload="myload()">
<input type="button" value="克隆Div" onclick="cloneDiv()">
<input type="button" value="删除第二行" onclick="reSecRow()">
<input type="button" value="替换美女" onclick="repGirl()">
<div id="div">
<table id="tab"border="1" width="400px" height="300px">
<tbody>
<tr>
<td>111</td>
<td>222</td>
<td>333</td>
<td>444</td>
</tr>
<tr>
<td>555</td>
<td>666</td>
<td>777</td>
<td>888</td>
</tr>
</tbody>
</table>
<img src="13.gif" width="200px" id="img" />
</div>
</body>
</html>
相关文章推荐
- DOM对象模型高级编程(增查)
- Maven搭建 Spring环境
- uml啊~~~~~~~~~~~~~~~~~~~~~~~~~
- Java正则表达式 预搜索(零宽断言)详解(精)
- 初识JAVA及环境变量的配置
- java项目开发该学些什么,有什么参考书籍?
- 一个关于 字符与字符串 的 小问题
- Java基本语法-----java流程控制语句
- Java基本语法-----java流程控制语句
- java.lang.IllegalStateException: getWriter() 异常(Filter时)
- 全双工实现服务器与客户端的通信
- python mac上传文件到windows共享
- django 验证码
- a small test for array
- Java知识结构图
- Java HotSpot(TM) 64-Bit Server VM warning: Insufficient space for shared memory file:
- php 即时输出
- C# 利用反射查看类的信息
- 如何将 eclipse 配置成 IDEA
- python import module -- cannot find reference "XXX" in __init.py__