0

次のように、 $(' some html ')を使用して要素を作成するとします。

var imgSrc = determineImageURL();
var myImg = $('<img>', { src: imgSrc })[0]; // Creates a new <img>.

私の質問は:

  • 新しい要素の親は誰ですか? ドキュメント?なし?これはすべてのブラウザで同じですか?
  • そのコードを複数回実行する必要があり、毎回異なるimgSrcが計算されるとします。myImgが変更されたとき、または現在の関数が返されたときに、新しい要素はガベージになります (収集される可能性があります) ? または、単一の <img> を保持し、src属性のみを変更する必要がありますか?
4

1 に答える 1

3

の親は、myImg追加する場所によって異なります。引用したコードだけを考えると、それはありません。

関数でノードを親にアタッチしない場合、新しい要素は関数が戻るときにガベージ コレクションされます。

変数varは、それへの他の参照を作成しない限り(親にアタッチされるか、クロージャーで参照される)、関数スコープでのみ存続します。

于 2012-06-03T00:13:11.940 に答える