Le déplacement d'une div à l'intérieur d'un div à une autre div en utilisant le Prototype?
À l'état de prototype ou normal-mais-croix-navigateur compatible avec Javascript, comment puis-je déplacer le contenu d'un div pour le contenu d'un autre div?
À l'intérieur de la div est un formulaire avec des id et dépendante du code Javascript avec les observateurs. Je ne veux pas que ça pause juste parce que j'ai déménagé d'un bloc dans les DOM. A 'ce innerHTML = 'innerHTML' solution n'est pas ce que je recherche. Je vais aussi avoir besoin de le faire lorsque le DOM est chargé.
Je veux aller de ce:
<div id='here'>
<div id='MacGuffin'>
<p>Hello Worlds!</p>
</div>
</div>
<div id='there'>
</div>
:
<div id='here'>
</div>
<div id='there'>
<div id='MacGuffin'>
<p>Hello Worlds!</p>
</div>
</div>
...quand le document est chargé avec rien de gesticuler.
OriginalL'auteur | 2011-06-13
Vous devez vous connecter pour publier un commentaire.
Vous pouvez ajouter ceci à la fin de la balise BODY:
MacGuffin
sera déplacé automatiquement de l'un à l'autre.Et il n'y aura pas de scintillement.
Heureux, il a travaillé. Je ne sais pas bien de prototype, mais si je me souviens bien
$('there').appendChild( $('MacGuffin') )
pourrait fonctionner aussi.c'est vraiment génial, bien mieux que le sale css astuces
Merci!!!! Super!
OriginalL'auteur Mic
Peut-être pas un point majeur, mais il n'y a pas de Nœud.migrateChild() en Javascript la méthode de l'interface. Si un fragment dispose déjà d'un parent, d'ailleurs dans les DOM (div id='MacGuffin" ne dans l'exemple de balisage ci-dessus), appendChild() tranquillement se détache de l'argument fragment partir de n'importe quel parent actuel avant de refixer en vertu de la nouvelle mère. Dans mon esprit migrateChild() serait un plus sémantiquement significatifs du nom de la méthode que appendChild(), moins de besoin de StackOverflow développeur recherches pour faire allusion à ses puissantes capacités.
OriginalL'auteur rickatech
Pour déplacer le contenu de
here
enthere
, vous êtes au fond après:Malheureusement, cela ne fonctionne pas.
Comme les deux autres réponses, il semble que vous avez recours à la plaine de JavaScript prototype seulement de fournir un raccourci pour
document.getElementById
.(Voir Jean Démissionner du blog pour les statistiques de performance sur DocumentFragments:
http://ejohn.org/blog/dom-documentfragments/)
OriginalL'auteur searlea
Pour déplacer le contenu de
here
enthere
, cela fonctionne, tant quehere
renferme tout ce que vous souhaitez déplacer, comme un<div>
:descendants() retourne un tableau et insérer prend de contenu, utilisez donc le premier élément.
OriginalL'auteur Jim C