一种不依赖setTimeout的更干净的方法是在设置之前读取有问题的css属性:
var div = $('<div />').addClass('trans');
$('#container').append(div);
div.css('width');//add this line
div.css('width', '200px');
正如Lucero在下面的评论中所解释的那样,这样做必须强制浏览器计算实际值,而不是“自动”,“继承”或类似值。没有实际值,浏览器将不会知道新值是前一个值的更改。