现在的位置: 首页 > 综合 > 正文

document对象 动态的创建元素(节点)/添加元素(节点)/删除元素(节点)

2018年01月16日 ⁄ 综合 ⁄ 共 3158字 ⁄ 字号 评论关闭

主要是通过创建节点的方式来完成动态创建和动态删除的,其具体的方法就2个document.createElement("a");document.getElementById("id1").parentNode.removeChild(document.getElementById("id1"))

  在此之前先对dom结点的知识进行加强介绍

1,

常用的dom的每个Node节点属性和方法(加强篇)

特别提示:

html domxml dom都遵循相同dom规范的,所以他们有很多相同的方法和属性,因此我们也可以去查看xml domnode节点提供的方法和属性。

在dom编程中,一个html文档会被当作dom树对待,dom会把所有的html元素映射成Node结点,于是你就可以使用node节点(对象)的属性和方法 


下面是node节点的属性和方法,注意createElementdocument的方法,不是node节点的方法

属性名称

类型

说明

nodeName

String

节点名称

nodeValue

String

节点值

nodeType

Number

节点类型

parentNode

Node

父节点

firstChild

Node

第一个子节点

lastChild

Node

最后一个子节点

childNodes

NodeList

所有子节点

previousSibling

Node

前一个节点

nextSibling

Node

后一个节点

ownerDocument

Document

获得该节点所属的文档对象

attributes

Map

代表一个节点的属性对象

方法名称

返回值

说明

hasChildNodes()

Boolean

当前节点是否有子节点

appendChild(node)

Node

往当前节点上添加子节点

removeChild(node)

Node

删除子节点

replaceChild(oldNode,newNode)

Node

替换子节点

insertBefore(newNode,refNode)

Node

在指定节点的前面插入新节点

node属性方法的使用 [、后节点功能在IE8上浏览器未过测试]

[dom5-document.html]node属性和方法的使用示例

<html>
<head>
<title>document示例Node节点--乌龟抓鸡</title>
<script language="javascript" type="text/javascript">
<!--
function test(){
var wuguiDiv=$('wugui');
alert(wuguiDiv.nodeName+" "+wuguiDiv.nodeType+" "+wuguiDiv.nodeValue);
alert(wuguiDiv.childNodes.length+" "+wuguiDiv.nextSibling.nodeValue+" "+wuguiDiv.previousSibling.nodeValue+" "+wuguiDiv.parentNode);
}
function $(id){
return document.getElementById(id);
}
//-->
</script>
</head>
<body onkeydown="return move(event)">
<input type="button" value="Node测试" onclick="test()" /><br>
<table border="1px">
<tr>
<td></td>
<td><input type="button" value="向上走" onclick="move(this)" /></td>
<td></td>
</tr>
<tr>
<td><input type="button" value="向左走" onclick="move(this)" /></td>
<td></td>
<td><input type="button" value="向右走" onclick="move(this)" /></td>
</tr>
<tr>
<td></td>
<td><input type="button" value="向下走" onclick="move(this)" /></td>
<td></td>
</tr>
</table>
<!--把乌龟放在div中-->
<div id="wugui" style="position:absolute;left:100px;top:120px;">
<img src="1.jpg" border="1px" alt="" />
</div>
<!--鸡放在div中-->
<div id="cock" style="position:absolute;left:200px;top:200px;">
<img src="2.jpg" border="1px" alt="" />
</div>
</body>
</html>

2,动态创建dom对象createElement()、parentNode.removeChild()

<html>
<head>
<title>document示例</title>
<script language="javascript" type="text/javascript">
<!--
function test1(){
//创建元素
var myElement=document.createElement("a");//createElement(??)??写希望创建的html元素的标签名
//给新元素添加必要的信息
myElement.id="id1";
myElement.href="http://www.sina.com.cn";
myElement.innerText="连接到sina";
//给新元素指定位置
myElement.style.left="400px";
myElement.style.top="300px";
myElement.style.position="absolute";
//添加到document.body上
document.body.appendChild(myElement);
}
function test2(){
var myButton=document.createElement("input");
myButton.type="button";
myButton.value="这是动态建立的按钮";
document.getElementById("div1").appendChild(myButton);
}
function test3(){
//删除一个元素(删除一个元素前提:必需获得父元素)
//这是第一种删除方法(不灵活)
document.body.removeChild(document.getElementById("id1"));
//第二种方法(推荐此方法)
//document.getElementById("id1").parentNode.removeChild(document.getElementById("id1"));
}//-->
</script>
</head>
<body>
<input type="button" onclick="test1()" value="动态创建超链接" />
<input type="button" onclick="test2()" value="动态创建按钮" />
<input type="button" onclick="test3()" value="删除超链接" />
<div id="div1" style="width:200px;height:400px;border:1px solid red;">div1</div>
</body>
</html>

抱歉!评论已关闭.