Safari 1.x/2.x では、以下のコードは動かない。Safari 3.x では動く。
document.getElementById("hoge").appendChild(new Image());
なので、代わりに createElement を使う。
document.getElementById("hoge").appendChild(document.createElement("img"));
この掲示板によると (6 番の発言)
重箱の隅かつ板違いだけど、
(new Image)と、HTML DOMのcreateElement(‘IMG’)は等価ではない。
前者が返すのはJavaScript 1.xのImageであり
後者が返すのはHTML DOMのHTMLImageElement。
styleアトリビュートが必要で、かつDOMノードとして挿入するなら後者を使わねばならない。
まぁ大抵のDOM実装で、互いを単なるショートカットと見なすのだが
Safariは意外にきっちりしていて、ImageをDOMノードとしては扱えないので注意。
ということらしい。なるほど。