浏览器引擎在这种情况下如何工作非常有趣,因为我在 IE、Firefox 和 Chrome 中对其进行了测试,它们的工作方式都不同。例如:
<style>
.parent{
width:100px;
}
.expand{
width:200px;
}
</style>
<div class="parent">
<div class="child"></div>
</div>
<input type="button" id="btn" />
<script>
//onready
$('#btn').click(function(){
$('.parent').toggleClass('expand');
alert($('.child').width());
});
</script>
问题出在铬上。我不知道为什么,但是 ('.child').width() 总是旧值,而不是他父母的新宽度。何时以及如何重新计算宽度?