insertBefore与insertAfter
JavaScript DOM编程艺术
我最近看这个,看到动态创建html;介绍的insertBefore函数,没有insertAfter函数,然后作者便自己创建一个insertAfter函数,代码如下
function insertAfter(newElement,targetElement) {
var parent = targetElement.parentNode;
if (parent.lastChild == targetElement) {
parent.appendChild(newElement);
} else {
parent.insertBefore(newElement,targetElement.nextSibling);
}
}
我的问题在这个lastChild上
比如:
<body>
<p id="test">xxx</p>
</body>
var pObj=document.getElementById("test");
然后我创建一个元素对象A,要插在pObj后
insertAfter(A,pObj);
pObj.parentNode是body,body的lastChild应该是文本节点xxx才对。也就是说对象A应该插在元素节点与文本节点之间。但是书中效果又不是这样的。有没有人看过这个函数,怎么理解的?