4

我已经搜索了这个问题的答案,但无法找到解决方法。

我想访问包含在对象标记中的 div 的内容。

我的 include.htm 文件:

<div id="includedDiv">This is the included page</div>

我尝试过的:

<html>
<head>
<title>Get element from object included page</title>
</head>
<body>
<p>Test: This is the main page</p>
<object id="obj" data="include.htm"></object>
<script>
//alert(document.getElementById("includedDiv").firstChild.nodeValue);
//alert((document.getElementById("obj")).document.getElementById("includedDiv").firstChild.nodeValue);
alert(document.getElementById("obj")["includedDiv"]);
</script>
</body>
</html>

没有任何警报向我打印消息“这是包含的页面”,有没有办法从 DOM 获取此内容?

编辑: window[0].document.getElementById("includedDiv").firstChild.nodeValue; 是通过 DOM 访问的好答案,对象标记只是创建另一个窗口 :) http://www.w3schools.com/jsref/prop_win_length.asp

4

3 回答 3

0

document.getElementById('id').innerHTMLdocument.getElementById('id').outerHTML任何您正在寻找的...

查看如何使用 innerHTML 附加到对象

于 2012-05-19T12:21:32.443 回答
0

知道了!只需使用

window.parent.mainPageMethod(document.getElementById("includedDiv").firstChild.nodeValue);

在包含的页面中,您可以从主页获取 Javascript 函数中的 div 内容!

感谢您尝试帮助杰,我应该承认,当您谈到 window.name 属性时,它让我走上了正确的方向:)

于 2012-05-25T10:47:06.857 回答
0

更好的答案:您可以通过 DOM 访问对象标记内容,它只是另一个窗口!

window[0].document.getElementById("includedDiv").firstChild.nodeValue;

就是这样:D http://www.w3schools.com/jsref/prop_win_length.asp

于 2012-05-25T12:26:58.787 回答