W rodzicu (iframe),
<tr class="target" style="display:none;">
<td class="label">Test</td>
</tr>
W wyskakującym okienku
...
<script>
$(document).ready(function () {
var target = $(opener.document).find('.target').css('display');
if(target == "none"){
...
}
});
<script>
</head>
<body>
...
Jak wyżej, wyświetlana wartość okna nadrzędnego jest pobierana z okna wyskakującego. Ale to nie działa w IE. W IE wyświetlana wartość jest „niezdefiniowana”. Jednak w Chrome zwykle jest ustawiony na „brak”.
Jak mogę uzyskać tę wyświetlaną wartość z wyskakującego okienka w IE?
+++.
Jedną z rzeczy, które przegapiłem, jest wyskakujące okienko otwierane przez iframe.
Jest więc okno nadrzędne, w którym znajduje się element iframe, aw tym iframe otwiera się wyskakujące okienko. Chcę uzyskać wartość wyświetlania elementu iframe z wyskakującego okienka.
1 odpowiedź
Powinieneś przekazać swój dokument docelowy jako kontekst funkcji jQuery. Możesz to zrobić za pomocą drugiego parametru $(selector, context)< /a>.
Więc dla ciebie byłoby
var target = $('.target', opener.document).css('display');
Ale IE ma dziwny błąd, w którym wszystkie wartości opener.getComputedStyle()
będą ustawione na null
.
Więc jedynym sposobem na obejście tego problemu, który znalazłem, jest załadowanie jQuery w samym opener
i z wyskakującego okienka, aby wywołać własną funkcję jQuery
:
var target = opener.$('.target').css('display');