我对Javascript有一个问题。我收到这个错误消息:
未捕获NotFoundError:未能对“”node“”执行“”insertBefore“”:要在其前插入新节点的节点不是此节点的子节点。“”
Javascript:
var vidCounter = 0;
vidCounter++;
var originalDiv;
var newVideo = document.createElement("video");
newVideo.setAttribute("name", vidCounter);
newVideo.setAttribute("autoplay", "true");
originalDiv = document.getElementById("othersarea");
document.body.insertBefore(newVideo, originalDiv);
它试图在名为othersarea
的div下添加一个<video>
标记。
<div id="remoteVideos">
<div class="title">
<h2>Others</h2>
</div>
<div id="othersarea">
</div>
</div>
我该如何解决这个问题?
我还想在我的新视频标签上运行attachMediaStream([VIDEO TAG HERE HOW?], event.stream);
。
发布于 2014-05-01 11:44:50
您必须在之前插入的元素的父元素上调用insertBefore
。document.body
不是父对象,它在DOM层次结构中的位置很高。
要在DIV之后插入,必须在其下一个同级之前插入。
var parentDiv = document.getElementById("remoteVideos");
parentDiv.insertBefore(newVideo, originalDiv.nextSibling);
请参阅MDN中的示例
https://stackoverflow.com/questions/23401641
复制相似问题