Dupliquer un élément (et son style) avec JavaScript
Pour une bibliothèque JavaScript je suis la mise en œuvre, j'ai besoin de duplication d'un élément qui a exactement le même style que l'original. Bien que j'ai gagné assez décent connaissance de JavaScript, un langage de programmation, tout en le développant, je suis encore un DOM scripting newbie, donc, tous les conseils sur la façon dont cela peut être réalisé, il serait très utile (et il doit être fait sans l'aide de toute autre bibliothèque JavaScript).
Je vous remercie beaucoup à l'avance.
Edit: cloneNode(true)
ne pas cloner le calculées style de l'élément. Disons que vous avez le code HTML suivant:
<body>
<p id="origin">This is the first paragraph.</p>
<div id="destination">
<p>The cloned paragraph is below:</p>
</div>
</body>
Et un peu de style comme:
body > p {
font-size: 1.4em;
font-family: Georgia;
padding: 2em;
background: rgb(165, 177, 33);
color: rgb(66, 52, 49);
}
Si vous venez de clone de l'élément, en utilisant quelque chose comme:
var element = document.getElementById('origin');
var copy = element.cloneNode(true);
var destination = document.getElementById('destination');
destination.appendChild(copy);
Styles ne sont pas dupliqués.
source d'informationauteur acebal
Vous devez vous connecter pour publier un commentaire.
Non seulement aurez-vous besoin de cloner, mais vous aurez probablement envie de faire profonde clonage.
Documentation est ici.
Edit: OP états qui
node.cloneNode(true)
n'était pas de copier les styles. Voici un test simple qui indique le contraire (et de l'effet recherché) utilisant jQuery et de la norme API DOM:Les résultats sont visibles ici: http://jsbin.com/egice3/
Edit 2
Tu aurais mentionné qu'avant 😉 Calculé style est complètement différents. Changer votre sélecteur CSS ou appliquer ce style en tant que classe, et vous aurez une solution.
Modifier 3
Parce que ce problème est légitime que je n'ai pas trouvé de bonnes solutions, il me gênait assez pour venir jusqu'à la suivante. Il n'est pas particulièrement gracieux, mais il fait le travail (testé dans FF 3.5).
Voir PPK de l'article intitulé Obtenir Les Styles pour plus d'informations et quelques mises en garde.
Après avoir regardé un couple de bonnes solutions sur le WEB, j'ai décidé de regrouper tous les meilleurs aspects de chacun et de venir avec ce.
J'ai quitté ma solution dans la plaine super rapide de Javascript, de sorte que tout le monde peut se traduire à leur dernier et excellent JS saveur du mois.
Représentant la vanille de manille.....