jquery - 使用 .show ("slow"显示新添加的表行)

标签 jquery

我正在克隆一个隐藏的表行,然后填充它,验证后我想使用 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/

相关文章:

javascript - 使用 "ui boxer"后出现一些问题

javascript - 如何编辑已经上传的pdf文件?

javascript - HTML, CSS 自动滚动页面到底部

javascript - 禁用 textarea 中由 javascript 定义的 keydown 事件并恢复默认行为

javascript - 包装成对的元素?

javascript - 使用 MathJax 和 JQuery 插入 MathML

jquery - 发生了错误!服务器未发送错误详细信息

Javascript 开关不适用于 <option> 标记值

javascript - 带有图像动画的按钮悬停

javascript - 将图像 slider 标题更改为静态