我们只是花了一些时间在IE7/8中追寻一些非常奇怪的jQuery/css行为。jquery css(空白)IE7/8的bug?
我们做一些动画和高度测量。虽然动画我们不希望文字换行。所以我们做了:
$(selector).css("white-space", "nowrap");
... animate ...
$(selector).css("white-space", "inherit");
这个伟大的工程在FF,Chrome浏览器,Safari浏览器的iPad,甚至IE9,但在IE7或8,我们得到一个JavaScript错误:
"Could not get the whiteSpace property. Invalid argument"
深在的肠子jQuery的。有些挠头之后,我们终于实现了这一点:
首先,在的CSS定义一个类:
/* Kludge to avoid IE7/8-jQuery css('white-space') problem? */
.nowrap { white-space: nowrap; }
然后修改上面的动画代码:
$(selector).addClass("nowrap");
... animate ...
$(selector).removeClass("nowrap");
现在每个人都开心,但kludge真的让我感到困扰。 jQuery是否为IE做了某种CSS翻译?我们在jQuery 1.4.2上。