我正在克隆一个隐藏的表行,然后填充它,验证后我想使用 jquery 效果显示该行...说 .show("slow")
var baseRow = $("#tasks tr#baseTaskLine");
var newRow = baseRow.clone();
var lastRow = $("#tasks tr[id^='TaskLine_']" + dayClass + ":last");
var newRowId;
if (lastRow.length == 0) {
newRowId = "TaskLine_new0";
}
else {
newRowId = "TaskLine_new" + lastRow[0].rowIndex;
}
newRow.attr("id", newRowId);
:
[populate new row]
:
if (lastRow.length == 0) {
baseRow.after(newRow);
}
else {
lastRow.after(newRow);
}
newRow.hide();
:
:
[validate via webservice call]
:
newRow.show("slow");
这确实显示了该行,但它会立即出现。我尝试隐藏所有 <td>
行的元素然后显示这些元素,这似乎确实有效,但一些奇怪的样式被添加到每个 <td>
这会干扰格式,即 style="display: block;"
最佳答案
这样是行不通的。表格行和单元格不应该显示为 block ,因此显示/淡入淡出效果不会直接在表格行上起作用。
但是,您可以在每个单元格中放置一个
<table>
<tr id="row1"><td><div>Cell1:1</div></td><td><div>Cell2:1</div></td></tr>
<tr id="row2"><td><div>Cell1:2</div></td><td><div>Cell2:2</div></td></tr>
</table>
然后进行以下操作:
$('#row2 td div').show('slow');
这将产生预期的行为。
关于jquery - 使用 .show ("slow"显示新添加的表行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/204123/