使用jquery在body中返回iframe的值

时间:2011-01-10 08:32:33

标签: jquery jquery-ui wysihat

我在我的jsp上使用了wysihat引擎。它运行良好,但当我尝试添加一个预测功能,假设从正在创建的iFrame中读取并将其值放在隐藏的预览div中时,它无法读取iframe包含的html。 为此做任何解决方法?谢谢! 在这个例子中,我想使用jquery

返回正文中的值

以下iFrame不是写在我的jsp中,而是通过WYSihat.js文件附加到div:

<iframe id="iframeId" class="abc">
   <html>
      <head></head>
      <body>
        <br>
        some text here 
        </br>
    </body>
  </html>
</iframe>

如何在此处返回“some text”并将其传递给以下函数: 提示,这个iFrame是由WYSiHat.js文件在飞行中创建的,因为它不是写在我的jsp页面中的

function preview() {
    alert("hi"+$('iframe.editor').contents().find('body').text());
}

2 个答案:

答案 0 :(得分:5)

您的描述肯定令人困惑,但是要访问iframe的内容,您必须在jQuery对象上使用contents()方法:

$('iframe.abc').contents().find('body').text();

这里我们选择了iframe本身,然后得到了它的内容。从那里我们可以使用find()正常搜索iframe的DOM。

有关内容方法的更多信息,请参阅jQuery docs

答案 1 :(得分:2)

要查找iframe中的元素,可以使用jQuery函数.contents(),该函数返回document的{​​{1}}对象:

iframe