未捕获的typeerror对象没有方法'insertafter'

时间:2013-12-13 10:48:54

标签: javascript html

当我点击按钮时,我正在尝试在div div元素中添加按钮。 以下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 #<HTMLDivElement> has no method insertAftert。如何解决这个问题?JSFIDDLE

1 个答案:

答案 0 :(得分:1)

没有insertAfter,请改用insertBefore。

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

如果submit是最后一个Child,那么submit.nextSibling为null,而insertBefore只会将它附加到parentNode。

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