3

ajax を使用して画像のソースを動的に読み込んでいsます。このソースはどこにありますか。DOM で画像要素を作成し、ロードされたらこのソースを割り当ててから、div呼び出された に追加しますimgwrapper。次に、画像の寸法を取得しようとしましたが、うまくいきません。動的に読み込まれる画像のサイズを取得できないことは承知していますが、DOM に追加された後でも取得できませんか?

私のコードは以下の通りです:

//use ajax to get value of s (the image source)
img = document.createElement("img"); 
img.src = s; 
$('#imgwrapper').appendChild(img); 
console.log($('#imgwrapper').find('img').width());

これは、画像の幅を返す代わりに、0 を返します。

4

2 に答える 2

4

画像の読み込みが完了するまで待ちます

//use ajax to get value of s (the image source)
img = document.createElement("img"); 
img.onload = function() {
    console.log($('#imgwrapper').find('img').width());
};
img.src = s; 

$('#imgwrapper').append(img);


@MattiasBuelensが言及したように編集します。.appendChild()jQuery オブジェクトにはありません。.append()代わりにそれが必要です

于 2013-01-15T10:21:31.057 に答える
0

これを試すことができます:

img = document.createElement("img"); 
img.src = "http://placehold.it/350x150"; 
$('#imgwrapper').append(img); 
console.log($('#imgwrapper').find('img').width());

作業例: http://jsbin.com/adajuh/1/

于 2013-01-15T10:23:54.550 に答える