将所有样式从一个元素复制到另一个

我怎样才能获得从元素A到元素B的所有样式(甚至是inheritance的)? 在JavaScript或使用jQuery。

让我们告诉我有一个元素<p class="foo">...</p>并且追加看起来像内容一样的新元素<div />

如果你不关心IE,那么你可以这样做:

 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; 

这适用于内联,embedded和inheritance样式。

编辑: “不关心IE浏览器”,我当然的意思是“不关心Webkit以外的任何东西”。

更新:这适用于当前版本的Chrome(19),Safari(5),Firefox(12)和IE(9)。 它也适用于一些较旧的版本,例如IE8。

尝试复制每个像这样的CSS属性:

 $("target").css("border", $("source").css("border") ); $("target").css("background", $("source").css("background") ); ... 

为什么不? 您可以创build可能由所有属性组成的字典。