つまり、Dojo フレームワークを使用するスクリプトは、IE では異なる結果になります。
この問題を示すサンプル ページを次に示します。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="http://ajax.googleapis.com/ajax/libs/dojo/1.7.3/dojo/dojo.js"></script>
<script type="text/javascript">
dojo.connect(document.body, "onload", function () {
var d = dojo.query("div");
var s = dojo.query("span");
dojo.empty(d[0]);
dojo.create("span", {innerHTML: s[0].innerHTML}, d[0]);
});
</script>
</head>
<body>
<div><span>foobar</span></div>
</body>
</html>
わざわざ jsFiddle で試してみないでください。この特定のケースはそこでは再現されません。
サンプルは出力されるはずfoobar
ですが、IE では出力されません。
なぜこれが起こるのですか?それを回避する方法はありますか?