у необработанного объекта typeerror нет метода inserttafter [duplicate]

0

Я пытаюсь добавить кнопку внутри 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

  • 0
    @MelanciaUK Спасибо!
  • 1
    вы можете использовать child.appendChild(btn); jsfiddle.net/BYwz9/2
Теги:

1 ответ

1
Лучший ответ

Там нет insertAfter, вместо этого используйте insertBefore.

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

если submit - последний Child, тогда submit.nextSibling имеет значение null, а insertBefore просто добавит его в parentNode.

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню