gpt4 book ai didi

javascript - 内嵌框架 : accessing parent from a child element inside a iframe

转载 作者:行者123 更新时间:2023-11-30 18:21:10 25 4
gpt4 key购买 nike

我在页面内有一个 Iframe,其 src 设置为同一本地计算机上的一个文件(不是跨域)。

所以我有一个看起来像这样的页面:

<html>
<head/>
<body><iframe id="something" src="somepage.html"/></body>
</html>

iframe里面有一些内容

    <html>
<head/>
<body>
<li>
<ul>stuff</ul>
</li>
</body>
</html>

我的问题是,我有一个变量(在我的索引页中)当前指向元素 var element = <ul>stuff</ul>它位于 iframe 内部。

我希望能够从这个变量访问父 iframe 并获取 id“something”。

我一直在尝试使用 find 进行一些 jquery,但没有成功

$(element).find('iframe')

我想知道我哪里出错了...我已经用谷歌搜索了其他解决方案,但它们都与在 iframe 之外查看有关,我想我在里面查看!还有其他人可以帮助阐明一些问题吗?

最佳答案

iframe 元素的 id 似乎很难找到没有类似名称的东西。

但假设您知道 iframe 中 html 文件的名称(“somepage.html”),这看起来很自然,您可以这样做以获取父文档中包含 iframe 的元素:

var $matching = $(parent.document).find('iframe').filter(function(){
var srcTokens = this.src.split('/');
return srcTokens[srcTokens.length-1]=='somepage.html';
});

这是我用来测试的“somepage.html”文件,将 id 记录在控制台中:

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
</head>
<body>
<li>
<ul>stuff</ul>
</li>
<script>
var $matching = $(parent.document).find('iframe').filter(function(){
var srcTokens = this.src.split('/');
return srcTokens[srcTokens.length-1]=='somepage.html';
});
console.log($matching.attr('id'));
</script>
</body>
</html>

编辑:如 Serjio 所见,如果您不知道 html 文件的名称,则可以使用 location.href

关于javascript - 内嵌框架 : accessing parent from a child element inside a iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12002784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com