Utiliser JavaScript insertBefore () pour insérer avant un TextNode?

J'ai le code HTML comme suit:

<div id="move-me">
    <a href="#">I'm a link</a>
</div>

<div id="new-parent">
    Some plain text.
</div>

Je suis en train d'écrire un script JavaScript qui permettra de déplacer l'ensemble de la #move-moi div à l'intérieur de la #new-div parent, ci-dessus le texte, comme suit:

<div id="new-parent">
    <div id="move-me">
        <a href="#">I'm a link</a>
    </div>
    Some plain text.
</div>

Voici le code JavaScript que j'ai:

function moveDiv() {
    var moveable = document.getElementById('move-me');
    var newParent = document.getElementById('new-parent');
    newParent.parentNode.insertBefore(moveable, newParent.firstChild);
}

Je suis à l'aide de Firebug pour déboguer, et je peux voir que newParent.firstChild est un TextNode, mais je reçois toujours le message d'erreur suivant:

Node was not found" code: "8
newParent.parentNode.insertBefore(moveable, newParent.firstChild); 

Il semble que insertBefore nécessite un nœud d'élément et ne fonctionnera pas sur un nœud de texte... est-ce que le droit? Si oui, est-il une autre bonne méthode pour faire cela?

Note: je ne peux pas les modifier ou de nettoyer le code HTML à inclure les étiquettes de paragraphe ou de supprimer l'espace blanc.

source d'informationauteur Melissa Avery-Weir