Как я могу получить конкретный div из внешнего iframe, когда я уже в другом iframe - PullRequest
0 голосов
/ 12 августа 2011

У меня есть проблемы, связанные со следующим кодом

Это моя главная страница:

<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, как я могу получить DivIWant, ближайшийна iframe внутри я нажал кнопку?

Ответы [ 2 ]

1 голос
/ 12 августа 2011

Попробуйте это

window.top.document.getElementById("DivIWant");
1 голос
/ 12 августа 2011

Оригинальный ответ был:

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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...