2011-12-30 45 views
2

有没有办法在JavaScript中执行以下操作?使用JavaScript获取div中的iframe

  1. 通过类名得到一个div,
  2. 得到在div
  3. 内的IFRAME和添加属性(FRAMEBORDER = 0)

<html> 
    <body> 
     <div class="calendar"> 
      <iframe></iframe> 
     </div> 
    </body> 
</html> 

回答

5

为了得到一个div按类名称:

var allDivs = document.getElementsByClassName("calendar"); 

假设只有一个

var calendarDiv = document.getElementsByClassName("calendar")[0]; 

进去的IFRAME:

var iFrame = calendarDiv.getElementsByTagName("iframe")[0]; 

设置属性:

iFrame.setAttribute("frameborder", "0"); 

或者,由于getElementsByClassName在旧版本不支持的IE,请考虑将ID设置为iFrame和简单地做:

document.getElementById("iFrameId").setAttribute("frameborder", "0"); 
+0

注意'document.getElementsByClassName'不支持IE8和更低:http://caniuse.com/#search=getElementsByClassName – 2011-12-30 19:39:48

+0

@AndreasKöberle - 谢谢你 - 我更新。 – 2011-12-30 19:41:07

+0

注意:'document.getElementsByClassname()'[在IE 9下不起作用](http://www.quirksmode.org/dom/w3c_core.html#gettingelements)。查看[alternatives](http://snook.ca/archives/javascript/your_favourite_1)以及如何使用[优雅](http://www.ehow.com/how_7398289_use-implemented-two-different-browsers.html )。 – 2011-12-30 19:41:46

1

首先,你需要给你的iframe ID。

之后,您可以使用函数document.getElementById(“”)来获取iframe,并更改它的属性。

例如:

<html> 
<body> 
    <div class="calendar"> 
     <iframe id="myIframe"></iframe> 
    </div> 
    <script type="text/javascript"> 
     document.getElementById("myIframe").frameborder = 1; 
    </script> 
</body> 
</html>