当我已经在不同的iframe中时,如何从外部iframe获取特定div

时间:2011-08-12 02:40:11

标签: javascript jquery iframe

我遇到与以下代码相关的问题

这是我的主要页面:

<html>
    <body>
    <div class="pagewrapper"> 
        <div class="page">
                <iframe id="TabContentIframe" 
                    src="/MyTestWebsite4/TabContent/Details/8">
                </iframe>
                <iframe id="TabContentIframe" 
                    src="/MyTestWebsite4/TabContent/Details/8">
                </iframe>
                <iframe id="TabContentIframe" 
                    src="/MyTestWebsite4/TabContent/Details/8">
                </iframe>
            </div>
        </div> 
    </body>
</html>

TabContentIframe看起来像这样:

<html>
    <body>
        <div class="pagewrapper"> 
            <div class="DivIWant">
                <iframe id="MainContentIframe" 
                    src="/MyTestWebsite4/MainContent/Details/8">
                </iframe>
            </div>
        </div> 
    </body>
</html>

MainContentIframe看起来像这样:

<html>
    <body>
        <div class="pagewrapper"> 
            <div iD = "BtnIPressed"></div> 
        </div> 
    </body>
</html>

正如您所看到的,所有人都在同一个域中。

如果我按下BtnIPressed,如何在按下按钮的情况下获取最接近iframe的DivIWant

2 个答案:

答案 0 :(得分:1)

原始答案是:

alert(parent.parent.getElementById("DivIWant").innerHTML)

但是现在你改变了div的位置,所以它只是一个级别。

alert(parent.getElementById("DivIWant").innerHTML)

走近父母,直到找到匹配的div

var par = null;
var div = null;
while(par!==window){
    par = par.parent;
    var div = par.getElementById("DivIWant")
    if(div){       
         break;
    }
}
if(div){
    alert(div.innerHTML);
}

答案 1 :(得分:1)

试试这个

window.top.document.getElementById("DivIWant");