我們只是花了一些時間在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上。