Si vous ne vous souciez pas de l'IE, vous pouvez le faire :
var p = document.getElementById("your_p_id");
var div = document.createElement("div");
div.innerHTML = "your div content";
div.style.cssText = document.defaultView.getComputedStyle(p, "").cssText;
#your_p_id {
color: #123124;
background-color: #decbda;
}
<textArea id="your_p_id">Hello world!</textArea>
Cela fonctionne pour les styles en ligne, intégrés et hérités.
EDIT : Et par "se foutre d'IE", je voulais bien sûr dire "se foutre de tout sauf de Webkit".
UPDATE : Cela fonctionne dans les versions actuelles de Chrome(19), Safari(5), Firefox(12), et IE(9). Il fonctionne également dans les anciennes versions de certains, comme IE8.
1 votes
Si le <div /> est à l'intérieur de <p>, il héritera automatiquement de la CSS
4 votes
(Mais personne ne mettrait un <div> à l'intérieur d'un <p>, n'est-ce pas ? - parce que tout le monde valide son code, donc ils auraient déjà trouvé l'erreur ;-)
0 votes
Vous pouvez utiliser
addClass()
au nouvel élément.