我使用下面的代碼向下滑動一行,但jQuery強制執行display: block
,當它應該是table-row
,破壞樣式。slideDown的力量顯示:塊
小提琴:http://jsfiddle.net/7Ay3z/
我手動將它設置爲table-row
這是後完成,但是這是可怕的。我該如何解決這個問題?
<style>
table {
margin: 25px;
}
tr {
background-color: #c00;
color: #fff;
border: 1px solid #000;
padding: 10px;
}
</style>
<table>
<tr>
<td>a</td>
<td>b</td>
<td>c</td>
<td>d</td>
<td style="display:none;">1</td>
</tr>
</table>
JQ:
$("tr").click(function(){
var row = $(this);
var visibleLength = row.find("td:visible").length;
var hiddenLength = row.find("td:not(:visible)").length;
var drillRow = $("<tr/>").addClass("drillDownRow");
var drillColumn = $("<td/>").attr("colspan", visibleLength);
var drillHidden = $("<td/>").attr("colspan", hiddenLength).css({display: "none"});
drillColumn.html("test <b>2</b>... ok");
drillRow.hide().append(drillColumn).append(drillHidden).insertAfter(row);
drillRow.slideDown("slow",function() {$(this).css({display: "table-row"})});
});
有什麼辦法你不能使用這個表嗎? – 2012-04-12 15:18:13
可能的重複:http://stackoverflow.com/q/467336/681807 – 2012-04-12 15:19:41
http://stackoverflow.com/questions/467336/jquery-how-to-use-slidedown-or-show-function-on-a-錶行 – 2012-04-12 15:21:01