fadeIn()在tr原因显示:block - bug?

时间:2011-08-13 14:29:11

标签: jquery

如果您尝试在jQuery中的.fadeIn()上执行<tr>,则会在(在Firefox和IE7上)添加元素display:block;。 (在IE7上也可以缩放:1)。

我正在使用jQuery 1.5版。这是一个错误吗?我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

在您的问题中没有多少工作要做。

This example(使用1.5.2)显示table-cell后的显示为.fadeIn()

来自示例的

代码

$('tr')
    .hide()
    .delay(1000)
    .fadeIn( 1000, function(){alert($(this).css('display'));} );

BUT

如果你的CSS有这样的东西:

tr {
    display:none;
}

然后jQuery将不知道将显示设置为什么,并且只假设block

示例: http://jsfiddle.net/AG34Z/1/

如果是这种情况,那么请不要将tr设置为display:none,而是设置一个类,并在其上设置显示。

.myrow {
    display:none;
}

示例: http://jsfiddle.net/AG34Z/3/

您可以看到.fadeIn()现在在行上设置了正确的display

答案 1 :(得分:1)

您可以使用fadeToanimate而不是fadeIn

http://api.jquery.com/fadeTo/
http://api.jquery.com/animate/