Веб-элемент управления ReportViewer 2008 генерирует неприятную структуру HTML DOM. Я пытаюсь добраться до определенного элемента в глубине HTML, и в настоящее время я могу только заставить свой селектор jQuery работать в IE. Я надеюсь, что кто-то может помочь мне с этой последней частью!
HTML-код, о котором мы говорим, выглядит следующим образом (например, упрощенно):
<div id="uxReportViewer">
<iframe id="ReportFrame_uxReportViewer">
<html>
<frameset id="frameset">
<frame name="docmap" id="docmap" />
<frame name="report" id="report">
<html>
<body class="r0">
<div id="oReportDiv">
<table>
<tbody>
<tr>
<td id="oReportCell" /> <!-- Goal -->
</tr>
</tbody>
</table>
</div>
</body>
</html>
</frame>
</frameset>
</html>
</iframe>
<iframe id="PrintFrame_uxReportViewer" />
</div>
Это элемент <td id="oReportCell" />
, который мне нужно схватить.
В настоящее время это работает в IE:
$('div#oReportDiv > table > tbody > tr > td#oReportCell',
$('#uxReportViewer > iframe:eq(0)')
.contents()
.find('html')[0]
.document
.frames["report"]
.document
);
Но в FF я могу зайти так далеко, даже в область, которую я указал:
$('#uxReportViewer > iframe:eq(0)')
.contents()
.find('html')[0] // good through here
.document; // document is not defined
Вместо .document
в FF есть атрибут ownerDocument
и parentNode
, которые являются типами HTMLDocument, но тогда я не могу найти фреймы в документе.
Есть идеи?
Спасибо!