我正在编写一个包含两个iframe的HTML网页,比如iframeA和iframeB。我经常需要使用 JavaScript 将 iframeA 的 HTML 内容复制到 iframeB 的 HTML 内容中。使用document.body.innerHTML属性,我可以复制内容,但我不知道。如何将 iframeA 的每个元素的 style(CSS) 属性复制到 iframeB 中?
有什么建议吗?
JQuery的.css()可以做到这一点:http://api.jquery.com/css/
例如,您可以执行以下操作:
function copyCss() {
var iframeABackgroundColor = $('#iframeAElementID').css("background-color");
$('#iframeBElementID').css("background-color", iframeABackgroundColor); }
JSFiddle 演示概念:https://jsfiddle.net/xbdk0jy9/1/
我找到了问题的解决方案。我在两个iframe的HTML中<body>
标签中使用了<div>
标签。所以我的 iframe HTML 内容在<div>
标签内,如下所示:
<html>
<body>
<div id = "mydiv">
//Body contents
</div>
</body>
<html>
然后我使用 importNode() 和 replaceChild() API 将 iframeB 的节点<div>
替换为<div>
iframeA 的节点。这将处理 <div>
标记下的所有 HTML 元素及其样式。无需迭代每个元素来检查和复制样式。