如何在iFrame中更改元素的样式

时间:2012-07-27 19:03:46

标签: javascript html

问题:

我正在设计一个在所有页面上使用相同侧边栏的网站,因此我将侧边栏放在iFrame中以便以后轻松编辑...但是在每个页面上我希望iFrame中的当前页面链接为粗体字体...请帮助您使用JavaScript语句或函数。

我目前的代码如下:

HTML(主要网页):

<!DOCTYPE html>
 <html>
  <head>
   <title>Example Page</title>
   <script type="text/javascript">
    var currentTag = function(tag){
     var currentPage = document.frames['tag_list'].document.getElementById(tag+'_tag-list'); currentPage.style.fontWeight = "bold";
    };
    currentTag("home")
   </script>
  </head>
  <body>
   <header>
    <!--All header code-->
   </header>
   <!--Sidebar (Problem)-->
   <iframe src="myframe.html" scrolling="no" id="tag_list">Your browser does not support the "iframe" element, please update...</iframe>
   <div id="content">
    <!--All content-->
   </div>
   <footer>
    <!--All footer code-->
   </footer>
  </body>
 </html>

HTML(iFrame):

<!DOCTYPE html>
<html>
 <head>
  <title>Sidebar Frame</title>
 </head>
 <body>
  <div id="tag_list">
   <h2>Pages</h2>
   <ul>
    <li><a href="#"><span id="home_tag-list">Homepage</span></a></li>
    <!--And all the other pages-->
   </ul>
  </div>
 </body>
</html>

非常感谢您的帮助:D

2 个答案:

答案 0 :(得分:2)

iframe中的任何内容都可以通过访问iframe的contentWindow属性进行访问,但前提是iframe的内容来自与父窗口相同的来源。

进入contentWindow后,就像通常一样访问元素(document.getElementBy...

答案 1 :(得分:-1)

不要使用iframe。永远(除非那里没有别的选择)。在您的情况下,Server Side Includes或使用PHP include(或其他一些编程语言来包含侧边栏是 MUCH 更好的选项。

使用其中任何一个选项都可以解决您的CSS问题,并使您的网站更加适合搜索引擎。