Это следует сделать после полной загрузки изображения.
Для этого можно поместить код в обработчик .load()
.
var main = $('#main');
$('#imagebox img').load(function(){
var $th = $(this);
width = $th.width();
height = $th.height();
main.append((hello + width) + height);
});
или если вы хотите убедиться, что размеры изображения добавлены в правильном порядке, тогдаэто на window
нагрузка.
$(window).load(function() {
var main = $('#main');
var vals = $('#imagebox img').map(function(){
var $th = $(this);
width = $th.width();
height = $th.height();
return (hello + width) + height;
}).get();
main.append( vals.join('') );
});