首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >未捕获NotFoundError:未能在“”node“”上执行“”insertBefore“”:要在其前插入新节点的节点不是此节点的子节点

未捕获NotFoundError:未能在“”node“”上执行“”insertBefore“”:要在其前插入新节点的节点不是此节点的子节点
EN

Stack Overflow用户
提问于 2014-05-01 11:37:33
回答 2查看 98.1K关注 0票数 49

我对Javascript有一个问题。我收到这个错误消息:

未捕获NotFoundError:未能对“”node“”执行“”insertBefore“”:要在其前插入新节点的节点不是此节点的子节点。“”

Javascript:

代码语言: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>标记。

代码语言:javascript
运行
复制
<div id="remoteVideos">
    <div class="title">
        <h2>Others</h2>
    </div>
    <div id="othersarea">
    </div>
</div>

我该如何解决这个问题?

我还想在我的新视频标签上运行attachMediaStream([VIDEO TAG HERE HOW?], event.stream);

EN

Stack Overflow用户

回答已采纳

发布于 2014-05-01 11:44:50

您必须在之前插入的元素的父元素上调用insertBeforedocument.body不是父对象,它在DOM层次结构中的位置很高。

要在DIV之后插入,必须在其下一个同级之前插入。

代码语言:javascript
运行
复制
var parentDiv = document.getElementById("remoteVideos");
parentDiv.insertBefore(newVideo, originalDiv.nextSibling);

请参阅MDN中的示例

票数 42
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23401641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档