JQuery slideToggle显示类型

我正在使用jQuery slideToggle来显示隐藏的表格行,但它将显示样式设置为阻止,我需要显示表格行。 任何想法我怎么能做到这一点?

提前致谢

我找到了解决这个问题的方法 – 检查显示是否已设置为阻止(如果元素已被切换显示),如果设置为所需的显示类型。

$('a.btn').on('click', function() { $('div.myDiv').slideToggle(200, function() { if ($(this).css('display') == 'block') $(this).css('display', 'table-row'); // enter desired display type }); }); 

inorganik的解决方案几乎正常。 但是您还需要设置step回调以将block更改为table-row

  $('row-selector-here').slideToggle({ duration: 'fast', step: function() { if ($(this).css('display') == 'block') { $(this).css('display', 'table-row'); } }, complete: function() { if ($(this).css('display') == 'block') { $(this).css('display', 'table-row'); } } }); 

您可以使用回调来更改此设置

 $('#tableRowId').slideToggle( function(){ $(this).css('display', 'table-row'); }); 

这是一个已知的错误 (也在这里 )。 用jQuery slideToggle 。 没有任何方法可以使用slideToggle并正确保留显示样式。 您可以在动画完成时使用回调应用显示样式,但这可能无法达到您想要的效果。

只需将此代码添加到回调函数中

$(this).css('display','');