
//2、创建一个新节点
//3、将新节点添加到div节点后面
//具体 *** 作如下:
var divs = document.getElementsByTagName("DIV")//获取页面中所有div
for(var i=0i<divs.lengthi++) {
var div = divs[i]//获取第i个div
var divParent = div.parentNode//获取该div的父节点
var newNode = document.createTextNode("文本节点")//创建文本节点
var next = div.nextSibling//获取div的下一个兄弟节点
//判断兄弟节点是否存在
if(next) {
//存在则将新节点插入到div的下一个兄弟节点之前,即div之后
divParent.insertBefore(newNode,next)
} else {
//不存在则直接添加到最后,appendChild默认添加到divParent的最后
divParent.appendChild(newNode)
}
}
//以下是一些常用js *** 作
var textNode = document.createTextNode("xxx")//创建文本节点
var elementNode = document.createElement("p")//创建元素节点(p)
var body = document.getElementsByTagName("body")[0]//获取body节点
body.appendChild(elementNode)//元素节点添加到body节点下,添加在末尾
elementNode.appendChild(textNode)//将文件节点添加到元素节点下
//获取要删除的节点,elementNode.length-1 表示最后一个指定节点(这里表示最后一个p节点)
var delElementNode = elementNode.item(elementNode.length-1)
body.removeChild(delElementNode);//移除指定节点
body.insertBefore(newNode, oldNode)//在body中的oldNode前插入newNode节点
body.replaceChild(newNode, oldNode)//将body中的oldNode替换为newNode节点
//创建一个新的属性
var style = document.createAttribute("style")
//为节点添加新属性
option.attributes.setNamedItem(style)
//设置新属性的值
option.setAttribute("style","color:red")
insertRow()函数可以带参数,形式如下:这个函数将新行添加到index的那一行前,比如insertRow(0),是将新行添加到第一行之前,默认的insertRow()函数相当于insertRow(-1),将新行添加到表的最后。
<scriptlanguage="JavaScript">
vart=document.getElementById("test");
t.innerHTML="<tr><td>数据</td></tr>"
//或者
vart=document.getElementById("test");
vartr=document.createElement("tr");
vartd=doucment.createElement("td");
td.innerHTML="数据";
tr.appendChild(td);
t.appendChild(tr);
}
</script>
扩展资料:
给table添加一行
1、$("#addTable").click(function(){;
2、vartr="<tr>"+;
3、"<td>11</td>"+;
4、"<td>22</td>"+;
5、"<td>33</td>"+;
6、"<td>44</td>"+;
7、"<td>55</td>"+;
8、"</tr>"
9、$(".layui-table").append(tr);
appendChild定义appendChild(newChild:
Node)
:
Node
Appends
a
node
to
the
childNodes
array
for
the
node.
Supported:
IE
5.0+,
Mozilla
1.0+,
Netscape
6.0+,
Safari
1.0+,
Opera
7.0+
添加一个节点到指定的节点的子节点数组中,读起来好象有点拗口,简单地说就是将元素添加到指定的节点中
appendChild用法
target.appendChild(newChild)
newChild作为target的子节点插入最后的一子节点之后
appendChild例子
var
newElement
=
document.Document.createElement('label')
newElement.Element.setAttribute('value',
'Username:')
var
usernameText
=
document.Document.getElementById('username')
usernameText.appendChild(newElement)
insertBefore定义
The
insertBefore()
method
inserts
a
new
child
node
before
an
existing
child
node.
insertBefore()
方法的作用是:在现有的子节点前插入一个新的子节点
insertBefore用法
target.insertBefore(newChild,existingChild)
newChild作为target的子节点插入到existingChild节点之前
existingChild为可选项参数,当为null时其效果与appendChild一样
insertBefore例子
var
oTest
=
document.getElementById("test")
var
newNode
=
document.createElement("p")
newNode.innerHTML
=
"This
is
a
test"
oTest.insertBefore(newNode,oTest.childNodes[0])
好了那么有insertBefore的应该也有insertAfter吧?
好那我们来用Aptana编写一个例子吧,但Aptana的智能提示告诉我其实没有insertAfter这个方法
那么就自己定义一个罗:)
insertAfter定义
function
insertAfter(newEl,
targetEl)
{
var
parentEl
=
targetEl.parentNode
if(parentEl.lastChild
==
targetEl)
{
parentEl.appendChild(newEl)
}else
{
parentEl.insertBefore(newEl,targetEl.nextSibling)
}
}
insertAfter用法与例子
var
txtName
=
document.getElementById("txtName")
var
htmlSpan
=
document.createElement("span")
htmlSpan.innerHTML
=
"This
is
a
test"
insertAfter(htmlSpan,txtName)
将htmlSpan
作为txtName
的兄弟节点插入到txtName
节点之后
总结:
1、appendChild和insertBefore是做对节点的方法来使用的,而insertAfter只是自定义的一个函数
2、insertBefore相对于appendChild来说,比较灵活可以将新的节点插入到目标节点子节点数组中的任一位置。
3、使用appendChild和insertBefore来插入新的节点前提是,其兄弟节点必须有共同的父节点
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)