К моменту вызова строки
Сообщение от DenQ
|
$("div#1").attr("a");
|
этот див еще не существует в DOM. Легко проверить:
var str = "$('body').append(\"<div id='1' a='1'></div>\")";
setTimeout(str, 1);
alert($("div#1").length);
Установка таймера на 1 мс реально даст вам таймер на миллисекунд 10 или больше. Следующий за таймером код успеет уже выполниться.
И какой вообще смысл здесь в setTimeout?