jquery中的.find()。html()在iframe中使用时总是返回null

时间:2014-05-27 03:58:19

标签: javascript jquery html

我正在尝试访问我在iframe中打开的html文档(包含一个表格)的数据 我想访问表数据。

//#we is id of a <td> #iframe is id of iframe
var q=$('#iframe').find('#we').html();
document.write(q);

但是当我使用它时,我总是得到一个空值。帮助。

3 个答案:

答案 0 :(得分:1)

确保iframe位于同一个域中,否则无法访问其内部。那将是跨站点脚本。

所有浏览器都不允许访问来自与您的网站不同的域的iframe。这是一个严重的安全漏洞。因此,如果您从不同的域加载iframe,无论您做什么,都无法访问它。

你可能不喜欢这个答案,但这是事实。

答案 1 :(得分:0)

如果您的iframe实际上位于同一个域中,则可以使用以下内容。

var q = $('#iframe').contents().find('#we').html();

答案 2 :(得分:0)

请试试这个:

var body = $('#iframe').contents().find('body');

或者这也有帮助:

$(editFrame).contents().find("html").html();

那应该为你返回iframe中的所有html。或者您可以使用“body”或“head”代替“html”来获取这些部分。