JS中利用dom实现追加与插入

都是圈内人士了,咱就直接进入主题吧.... ^_^ ^_^

Node对象有insertBefore(newChild, 被引用Child)和appendChild(newChild)两个方法用来插入结点。

appendChild(newChild)方法作为某结点的方法来调用,在该结点的子结点列表的结尾添加一个newChild.

insertBefore(newChild, 被引用的0Child)制定在 被引用Child之间插入一个newChild. 在实际应用中,需要访问某个结点的双亲结点,已获得insertBefore()方法必要的信息。


<html>

<head>

<title>结点插入与追加</title>
<script type="text/javascript">
<!--
function makeNode(str) //创建结点函数
{
var newParagraph = document.createElement("p"); //创建新元素p
var newText = document.createTextNode(str); //创建新文本
newParagraph.appendChild(newText); //追加一个新的子结点
return newParagraph; //返回该段落
}

function appendBefore(nodeId, str) //前插入函数
{
var node = document.getElementById(nodeId);
var newNode = makeNode(str);
if(node.parentNode) //如果存在双亲结点
{
node.parentNode.insertBefore(newNode, node); //在当前节结点前插入新结点
}
}

function insertWithin(nodeId, str) //中插入函数
{
var node = document.getElementById(nodeId);
var newNode = makeNode(str);
node.appendChild(newNode); //追加一个新的结点
}

function appendAfter(nodeId, str) //后插入函数
{
var node = document.getElementById(nodeId);
var newNode = makeNode(str);
if(node.parentNode) //如果存在双亲结点
{
if(node.nextSibling) //如果存在下一子结点
{
//前插入子结点
node.parentNode.insertBefore(newNode, node.nextSibling);
}else //如果没有下一子结点
//后追加子结点
node.parentNode.appendChild(newNode);
}
}
//-->
</script>

</head>

<body>
<h1><center> DOM插入与追加</center></h1>
<hr>
<div style="background-clolor: #66ff00;">
<div id="innerDiv" style="background-color:#ffcc00;"></div>
</div>
<hr>

<form id="form1" name="form1" action="#" method="get">
<input type="text" id="field1" name="field1">
<input type="button" value="前插入" οnclick="appendBefore('innerDiv', document.form1.field1.value);">
<input type="button" value="中插入" οnclick="insertWithin('innerDiv', document.form1.field1.value);">
<input type="button" value="后插入" οnclick="appendAfter('innerDiv', document.form1.field1.value);">
</form>

</body>

</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值