insertBefore与insertAfter

andayfour andayfour 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
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应该插在元素节点与文本节点之间。但是书中效果又不是这样的。有没有人看过这个函数,怎么理解的?


...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
andayfour
JavaScript 87,984 成员 224,681 内容