javascript - Firefox iframe 中的 getElementById 返回 null 但适用于 Safari/Chrome

标签 javascript iframe cross-browser getelementbyid

我有两个 html 文件。一个将另一个包含在 iframe 中。 iframe 对先前创建的元素执行 getElementById。这在 Chrome/Safari 中工作正常,但在 Firefox/IE8 中不起作用,我不明白为什么。

Firefox 返回:null

Safari 返回:[对象 HTMLDivElement]

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>untitled</title>
</head>
<body>
    <iframe src="comment.html"></iframe>
</body>
</html>

comment.html

<div id="foobar"></div>
<script type="text/javascript">
    alert(document.getElementById('foobar'));
</script>

最佳答案

您的评论 html 文件格式不正确。尝试使用:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>untitled</title>
</head>
<body>
<div id="foobar"></div>
<script type="text/javascript">
    alert(document.getElementById('foobar'));
</script>

</body>
</html>

关于javascript - Firefox iframe 中的 getElementById 返回 null 但适用于 Safari/Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2363175/

相关文章:

javascript - 使用javascript动态更改html内容不起作用

javascript - 如何在 Razor 页面中有条件地绘制 DataTables 列

javascript - 交换两个水平对齐的 div

javascript - 如何防止 iFrame 操作导致外部页面滚动到它

javascript - anchor 标签和 scrollTo 在移动浏览器上什么都不做

javascript - iframe 中的后退和前进按钮

javascript - 光标在不同浏览器中文本区域元素末尾的行为

javascript - 有没有办法让 JavaScript 在尝试调用 undefined object 的方法时静默失败?

html - 按钮图像排列跨浏览器顶部的文字?

html - 不同操作系统/不同机器的字体不一致