2011-07-13 25 views
4

我使用下面的代碼行中的表中的新行中褪色:jQuery的隱藏()淡入()添加風格=「顯示:塊」

$('table tr:last').after($(data.row).hide().fadeIn('fast')); 

這行(tr)當淡入淡出的風格顯示:阻止它 - 並在一些瀏覽器使這一行比其他行窄。

有關如何避免這種情況發生的任何建議?

這裏就是我得到:

<tr style="display: block;"> 
+0

正常工作:[演示的jsfiddle(http://jsfiddle.net/bwWdu/)。 data.row中包含了什麼? – kapa

+0

這似乎只是在IE7及以下的情況。在我嘗試過的所有其他瀏覽器中,我得到了'display:table-row'。 –

+1

另一行'' - 在Firefox中嘗試它,你會明白我的意思。我在幾個瀏覽器中工作正常,但在某些瀏覽器中卻不行。 – user398341

回答

9

,你可以在標籤:.css('display', 'table-row')確保IE 7集的顯示正確

$('table tr:last').after($(data.row).hide().fadeIn('fast').css('display', 'table-row')); 

這裏有一個小提琴顯示在用行動表明:

http://jsfiddle.net/xS9rF/

+0

太好了 - 正如預期的那樣工作 - 非常感謝! – user398341

+0

這讓我非常困擾。偉大的修復。 –

+0

謝謝,作品像一個魅力。 – prdatur

0

看起來在某些瀏覽器(firefox)中t這裏有關於在將tr附加到DOM之前隱藏tr的內容。所以另一種方式,就是它插入後做隱藏和效果:

$('table tr:last').after($(data.row)); 
$('table tr:last').hide().fadeIn('fast'); 

http://jsfiddle.net/jhRs2/