ish*_*shk 61 html javascript iframe frameset getelementbyid
我iframe
喜欢这个
<iframe name="myframe1" id="myframe1" width="100%" height="100%" src="a.html">
<html>
<head></head>
<frameset name="myframe2" cols="0%, 100%" border="0" frameBorder="0" frameSpacing="0">
<frame name="page1" src="c.html" scrolling="no"></frame>
<frame name="page2" src="d.html" >
<html>
<head></head>
<body id="top">
<div id="div1">
<div id="div2">
<div id="div3">
<ul id="x">
<li>a</li>
<li>b</li>
</ul>
</div>
</div>
</div>
</body>
</html>
</frame>
</frameset>
</html>
</iframe>
Run Code Online (Sandbox Code Playgroud)
我想引用元素"x".我尝试了几种方法,但我找不到解决方案.
Fab*_*tté 144
document.getElementById('myframe1').contentWindow.document.getElementById('x')
Run Code Online (Sandbox Code Playgroud)
contentWindow
所有浏览器都支持,包括旧版本的IE.
请注意,如果iframe
的src
是从另一个域,您将无法访问其内容,由于同源策略.
mbh*_*n88 19
使用contentDocument
来实现这一目标
var iframe = document.getElementById('iframeId');
var innerDoc = (iframe.contentDocument)
? iframe.contentDocument
: iframe.contentWindow.document;
var ulObj = innerDoc.getElementById("ID_TO_SEARCH");
Run Code Online (Sandbox Code Playgroud)
(这是为了添加到所选答案中)
确保iframe
在您之前加载
contentWindow.document
Run Code Online (Sandbox Code Playgroud)
否则,你的getElementById
将会是null
。
PS:无法发表评论,评论声誉仍然很低,但这是所选答案的后续内容,因为我花了一些很好的调试时间试图找出在iframe
选择内部 iframe 元素之前应该强制加载。
归档时间: |
|
查看次数: |
144918 次 |
最近记录: |