未捕获的类型错误对象没有方法'insertafter' [重复]

Posted

技术标签:

【中文标题】未捕获的类型错误对象没有方法\'insertafter\' [重复]【英文标题】:uncaught typeerror object has no method 'insertafter' [duplicate]未捕获的类型错误对象没有方法'insertafter' [重复] 【发布时间】:2014-01-01 02:41:22 【问题描述】:

当我单击按钮时,我试图在 divdiv 元素内添加按钮。 以下JS代码:

function doThis()
    var btn= document.createElement("input");
    btn.type="submit";
    btn.value="button";
    var child=document.getElementById("child");
    var submit=document.getElementById("submit");
    child.insertAfter(btn, submit);

html 标记:

<div id="parent" class="parent">
    <div id="child" class="child">
        <input type="text" class="text"/>
        <input id="submit" type="submit" onclick="doThis()"/>
    </div>
<div>

在控制台中我有错误消息:Uncaught TypeError: Object #&lt;HTMLDivElement&gt; has no method insertAftert。如何解决这个问题?JSFIDDLE

【问题讨论】:

你可以使用child.appendChild(btn);jsfiddle.net/BYwz9/2 【参考方案1】:

没有insertAfter,改用insertBefore。

 submit.parentNode.insertBefore(btn, submit.nextSibling);

如果 submit 是最后一个 Child,则 submit.nextSibling 为 null,insertBefore 只会将其附加到 parentNode。

http://jsfiddle.net/rooseve/BYwz9/1/

【讨论】:

以上是关于未捕获的类型错误对象没有方法'insertafter' [重复]的主要内容,如果未能解决你的问题,请参考以下文章

未捕获的类型错误:对象 [对象对象] 没有方法“弹出”

未捕获的类型错误:对象 [object Object] 没有方法“Jcrop”

未捕获的类型错误:对象 #<Object> 没有方法“movingBoxes”

未捕获的错误:不变违规:元素类型无效:对象

vuejs 3:未捕获的类型错误:对象(...)不是函数[重复]

致命错误:未捕获的错误:不能使用 PDOStatement 类型的对象作为数组