У меня есть HTML, как показано ниже:
<div id="move-me">
<a href="#">I'm a link</a>
</div>
<div id="new-parent">
Some plain text.
</div>
Я пытаюсь написать JavaScript, который будет перемещать весь # move-me div внутри # нового родительского 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
требует элемент node и не будет работать над текстом node... это правильно? Если это так, есть ли еще один хороший способ для этого?
Примечание. Я не могу изменить или очистить HTML, чтобы включить теги абзацев или удалить пробелы.