将所有样式从一个元素复制到另一个元素 [英] Copy all styles from one element to another
问题描述
如何获得从元素A到元素B的每个样式(甚至继承)?在javascript或使用jquery。
How can i get every styles (even inherited) from an element A to an element B ? in javascript or using jquery.
让我们告诉我有一个元素< p class =foo> ...< / p> ;
和i append新元素< div />
,除了内容外,看起来一样。
let's tell i have an element <p class="foo">...</p>
and i append new element <div />
which would look like the same, except content.
推荐答案
如果您不关心IE,那么您可以这样做:
If you don't care about IE, then you can do this:
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;
这适用于内嵌,嵌入和继承的样式。
This works for inline, embedded, and inherited styles.
EDIT:并且通过不关心IE,我当然的意思是不在乎任何东西,除了Webkit。
And by "don't care about IE," I of course meant "don't care about anything except Webkit."
更新:这适用于当前版本的Chrome(19),Safari(5),Firefox(12)和IE(9)。
UPDATE: This works in the current versions of Chrome(19), Safari(5), Firefox(12), and IE(9). It also works in older versions of some, such as IE8.
这篇关于将所有样式从一个元素复制到另一个元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!