2

2つの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>
4

1 に答える 1

4

コメント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>
于 2010-03-02T13:07:19.180 に答える