从父框架css设置iframe内容样式

时间:2014-08-25 21:48:55

标签: css iframe parent-child parent styling

我有一个包含嵌入式iframe的页面,我需要设置iframe中显示的元素样式。问题是我无法编辑iframe(我认为它的起源相同,但我不确定),因此我需要通过父框架中的代码设置iframe内容的样式。我试图通过选择器做到这一点但没有成功。

例如:

<html>
   <body>
      <iframe id="frame">
         <div id="target">target</div>
      </iframe>
   </body>
</html>

CSS方法:

#frame #target{
   background:red;
}

jQuery方法:

$("#frame #target").css({'background':'red'});

2 个答案:

答案 0 :(得分:3)

您可以使用.contents()功能:

$('frame').contents().find('#target').css({'background':'red'});

答案 1 :(得分:0)

您使用的内容无效,因为在加载父页面后iFrame需要一些时间才能加载。因此,在加载iFrame之前会加载父页面的CSS和JS,因此样式和js不会应用于iFrame。

您可以使用

$('#frame-target').contents().find('#target-inside').css({'background': 'red'});

实现这一目标。我实际上并不记得是否等待加载iFrame。如果这不起作用,您可以等到它加载了加载事件或设置超时1秒后再应用它。