假设所有帧都在同一个域上,我需要从给定节点(或文档)开始,并搜索具有给定ID的元素.如果在当前文档中找不到它,我需要递归(广度优先)搜索所有后代iframe.
除非我错过了一些问题,否则我确信我可以编写这个函数,但我确信有人已经完成了它.
我不在我的应用程序中使用jQuery,所以尽管对于其他SO读者来说这很好,但它对我没有帮助.但是,我确实使用Prototype,并且可以假设所有后代iframe都包含原型.
有什么建议?
我想你可以像这样递归地得到它:
function findElement(wdw, id)
{
var el = wdw.document.getElementById(id);
if(el) return el;
for(var i=0; i<wdw.frames.length; i++)
{
var el = findElement(wdw.frames[i].window, id);
if(el) return el;
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
并称之为:
findElement(window, "aa");
Run Code Online (Sandbox Code Playgroud)
这里是jsFiddler链接:http://jsfiddle.net/QxL7z/2/
| 归档时间: |
|
| 查看次数: |
1520 次 |
| 最近记录: |