如何从父文档访问iframe内的元素?

3
function contents_nb(name, height) {
    1. document.getElementById('contents_iframe').height = height+'px';
    2. var $currentIFrame = $('#contents_iframe'); 
    3. $currentIFrame.contents().find(".wrap_contents").hide();
    4. $currentIFrame.contents().find(".greetings").fadeIn(2500);
}

这是我的jQuery语法。

第1至3行代码可以正常工作。

但第4行代码却无法正常工作。

iFrame中的HTML文档结构如下...

<body>
    <div class="wrap_contents">
        <div class="greetings">
        </div>
        <div class="operational_philosophy">
        </div>
    </div>
    </body>
    </html>

什么是原因?是什么导致了这个问题?

父HTML文档的语法是什么...

<iframe id="contents_iframe"></iframe>

什么问题? 为什么无法在类内找到类?

请发布普通的HTML。 - Barmar
你能展示更多的代码,或者将其放在JSFiddle上并包含链接吗? - Paul Draper
iframe的源是否与父级源相同?如果不是,则由于浏览器安全策略,您无法正常访问iframe内容。 - sumitb.mdi
所有文档都在一个单独的目录中。 - baejusik
1个回答

4
您可以使用jQuery的contents()函数来访问/查找元素。
$("#iframeID").contents().find("#contentID");

这是我使用的代码,但它无法处理元素内部的元素。 - baejusik
我已经测试过了,它运行良好。我有一个问题,$currentIFrame.contents().find(".wrap_contents").hide()的用途是什么? - Krish R

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接