Было уже. Решение.
Копайте в сторону jQuery:
$('iframe').contents().find('.hidden').hide();
UPD: Пришлось выложить код работающего примера кодом, так как сайты для кода не понимают меня)))
Итак, два файла: index.html и frame.html
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style media="screen">
body { background-color: blue; }
#iframe1 { width: 400px; height: 400px; }
#iframe2 { width: 400px; height: 400px; }
#iframe3 { display: none; width: 400px; height: 400px; }
.open_iframe { display: block; color: white; }
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.open_iframe').click(function(){
$('#iframe3').toggle();
$('#iframe3').contents().find('.click').hide();
});
});
$(window).load(function() {
$('#iframe2').contents().find('.load').hide();
});
</script>
</head>
<body>
<span class="open_iframe">Нажми меня.</span>
<iframe id="iframe1" src="iframe.html" width="" height=""></iframe>
<iframe id="iframe2" src="iframe.html" width="" height=""></iframe>
<iframe id="iframe3" src="iframe.html" width="" height=""></iframe>
</body>
</html>
И iframe.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style media="screen">
body { background-color: red; }
.load { background-color: yellow; }
.click { background-color: purple; }
</style>
</head>
<body>
Это один и тот же фрейм.
<div class="load">
А этого контента не видно при загрузке.
</div>
<div class="click">
А этого контента не видно по клику.
</div>
</body>
</html>
На выходе видим, как скрыть блок при загрузке страницы и при клике на блок.