gpt4 book ai didi

javascript - 在 Iframe 中选择元素的 Div

转载 作者:行者123 更新时间:2023-11-28 11:51:16 25 4
gpt4 key购买 nike

我在同一域上有两个页面。 Home.html 和 page2.html 是它们的名称。

home.html 有以下内容

<html>
<iframe id="one" src="page2.html" style="display:none"></iframe>
<div id="container">
<h1>Title of Page</h1>
<div id="ShowHere"></div>
</div>
</html>

page2.html 具有以下内容。

<html>
<div id="container">
<span id="target">Some Text</span>
</div>
<span>Don't Show This Text</span>
</html>

我想使用一些javascript从页面home.html上的Id =“one”的iframe中获取“target”的内容,然后更改元素id = ShowHere的innerhtml以显示其中的html元素“target”,以便在“页面标题”一词下显示“Some Text”一词。

我认为以下是一个开始,放在 home.html 的底部:

<script>
var frameSource = document.getElementById("one").contentWindow.document.documentElement.outerHTML;
// ANSWER TO MY QUESTION
document.getElementById("ShowHere").innerHTML = frameSource;
</script>

我四处搜索,看到了一些据说可以做到这一点的答案,但没有一个提供了如何做到这一点的有意义的解释,也没有一个是我可以开始工作的。我更喜欢使用普通的 JavaScript,但 Jquery 也可以。

基于我正在尝试做的事情,即从同一域上的另一个页面获取 div 的内容(即 insidehtml),我想知道是否有比创建不可见的 iframe 然后读取它更好的方法。也欢迎通过其他机制实现预期结果的答案。

最佳答案

使用 this 的答案问题

所以,首先你必须找到 iframe:

var iframe = document.getElementById('one');

然后你应该获取 iframe 内容:

var iframeDocument = iframe.contentDocument || iframe.contentWindow.document;

现在您可以使用 getElementById 在 iframe 中查找 DOM 元素:

var iframeContent;

if (iframeDocument) {
iframeContent = iframeDocument.getElementById('target').innerHTML;
}

现在,在 iframeContent 中,您已经有了需要在主页上显示的 span 内容,因此您只需找到要显示 iframeContent 的元素并设置 innerHTML 属性即可:

var divToShow = document.getElementById('ShowHere');
divToShow.innerHTML = iframeContent;

仅此而已。
希望我的回答能够帮助您解决问题。
谢谢:)

关于javascript - 在 Iframe 中选择元素的 Div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36747823/

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