Проблема с $.width(), выдает '0' 
		
		
		
		Добрый день. 
	Имеется вот такой вот HTML-код: 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link REL=STYLESHEET TYPE="text/css" HREF="test.css"> 
<title>Test</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
</head>
<body>
<script>
testImg = document.createElement('img');
testImg.src = 'http://www.thg.ru/display/20030221/images/mire.jpg';
//document.body.appendChild(testImg);
function test()
{
	alert($(testImg).width());
	alert(testImg.width);
}
</script>
<div style = "width:100px;height:100px;background-color:green" OnClick = "test()">
</div>
</body>
При клике по зеленому квадрату выдается ширина картинки с использованием jQuery и без него. Почему $.width() выдает 0??? Если добавить этот объект в DOM (убрать комментарий в 11 строке), то все нормально.  | 
	
		
 Цитата: 
	
  | 
	
		
 Это конечно замечательно, но мне нужно знать ширину объекта до его добавления в DOM. 
	Уточняю вопрос - как в jQuery можно узнать ширину изображения, если оно не находится в DOM? testImg.width - работает и так.  | 
	
		
 Браво, Вы просто мастер аналогий, было очень интересно читать!!!! 
	Но, я позволю себе не согласиться. Как только мы назначаем изображению src, оно начинает загружаться, т.е. форель кусочками перекочевывает в наш пакет. И до тех пор, пока загрузка не завершена, testImg.width тоже не знает истинных размеров. Но как только загрузка завершилась, форель в пакете, мы ее просто еще не решили, кому из друзей ее подарить, и ее размер testImg.width мы уже знаем. И вот меня удивляет, что метод $.width() использует не все возможности для поиска ширины.  | 
	
		
 И проблема-то вот в чем, я не против использовать testImg.width. 
	Но если я создаю объект вот таким вот образом 
testImg = $('<img>').attr('src','test.jpg');
то как мне добраться до его ширины? Я нашел вариант, но мне кажется, что он далеко не идеален: 
var temp;
testImg.each(function(){temp =this.width});
 | 
	
		
 ZaValera, 
	testImg[0].width; а testImg.width() не работает потому, что это DOM операция, и работает со свойствами offsetWidth/clientWidth  | 
	
		
 Супер, то что надо. Большое спасибо. 
	 | 
| Часовой пояс GMT +3, время: 02:15. |