当您在页面中循环遍历所有iframe时,如下所示:
HTML:
<ul>
<li id="a"><iframe src="..." /></li>
<li id="b"><iframe src="..." /></li>
<li id="c"><iframe src="..." /></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
JS:
for (var i = 0; i < window.frames.length; i++) {
if (window.frames[i].getName() == selector) {
frame_item = ????
break;
}
}
Run Code Online (Sandbox Code Playgroud)
如何获取<iframe>的DOM元素?或者按照示例,如何获取循环内<li>项的ID?
更新的答案.
window.frames直接引用IFRAME上下文(iframe的window对象).AFAIK你不能通过这种方式获得IFRAME对象.您可以通过window.frames [0] .myVar访问IFRAME的变量.
要使用所有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
}
Run Code Online (Sandbox Code Playgroud)
或者,您可以将id分配给UL元素和
var ul = document.getElementById('ul_id');
var iframes = ul.getElementsByTagName('iframe'); //all iframes in UL
...
Run Code Online (Sandbox Code Playgroud)