У меня есть HTML вроде следующего:
<div id="move-me">
<a href="#">I'm a link</a>
</div>
<div id="new-parent">
Some plain text.
</div>
Я пытаюсь написать JavaScript, который переместит весь div # move-me внутри # new-parent div, выше текст, например, так:
<div id="new-parent">
<div id="move-me">
<a href="#">I'm a link</a>
</div>
Some plain text.
</div>
Вот мой JavaScript:
function moveDiv() {
var moveable = document.getElementById('move-me');
var newParent = document.getElementById('new-parent');
newParent.parentNode.insertBefore(moveable, newParent.firstChild);
}
Я использую Firebug для отладки, и я вижу, что newParent.firstChild
это TextNode, но я всегда получаю следующую ошибку:
Node was not found" code: "8
newParent.parentNode.insertBefore(moveable, newParent.firstChild);
Кажется, что insertBefore
требует узла элемента и не будет работать на текстовом узле ... это правильно?Если да, есть ли другой хороший способ сделать это?
Примечание : я не могу изменить или очистить HTML-код, чтобы включить теги абзаца или удалить пробелы.