当您像这样循环访问页面中的所有 iframe 时:
HTML:
<ul>
<li id="a"><iframe src="..." /></li>
<li id="b"><iframe src="..." /></li>
<li id="c"><iframe src="..." /></li>
</ul>
JS:
for (var i = 0; i < window.frames.length; i++) {
if (window.frames[i].getName() == selector) {
frame_item = ????
break;
}
}
如何获取 的 DOM 元素?或者按照这个例子,如何获取循环内 项的 ID?
UPDATED answer.
window.frames 直接引用 IFRAME 上下文(iframe 的窗口对象)。 AFAIK 您无法通过这种方式获取 IFRAME 对象。您可以通过以下方式访问 IFRAME 的变量window.frames[0].myVar.
要获取所有 IFRAME 节点/对象,请使用:
var iframes = document.getElementsByTagName('iframe'); //all iframes on page
for(var i=0; i<iframes.length; i++){
alert(iframes[i].parentNode.id); // LI.id
alert(iframes[i].contentWindow.myVar); //iframe's context
}
或者,您可以将 id 分配给 UL 元素并
var ul = document.getElementById('ul_id');
var iframes = ul.getElementsByTagName('iframe'); //all iframes in UL
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)