将所有样式从一个元素复制到另一个
我怎样才能获得从元素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可能由所有属性组成的字典。