javascript - 使用 jquery 删除行时,第 nth-child css 不会重绘

标签 javascript jquery css css-selectors

我有一个 jsfiddle 演示这里的问题:http://jsfiddle.net/xjmwY/

基本上,我有一个使用 nth-child(odd) 规则的 css3 斑马条纹表。

.myTable tr {
    background-color: #efefef;
}
.myTable  tr:nth-child(odd) {
    background-color: #fff;
}

当通过 jquery 删除一行时,我最终得到两个颜色相同的后续行。有什么办法可以让表格重新粉刷吗?

最佳答案

.fadeOut() 只是隐藏该行(将其淡化为透明然后将显示设置为无),但它并没有真正删除它。为此,请使用 .remove():

$("tr").click(function(event) {
  event.preventDefault();
  $("#row_2").remove();
});

jsFiddle example

如果不能删除行,您可以按可见行和不可见行过滤行:

$("#row_2").fadeOut(function () {
    $('tr:visible').filter(":odd").css('background', '#fff');
});

关于javascript - 使用 jquery 删除行时,第 nth-child css 不会重绘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18665570/

相关文章:

javascript - Firefox 为浏览器错误添加监听器

javascript - 单击按钮添加带有附加数据的表行

javascript - 如何压缩 ajax 请求的响应?

css - 为什么 jQuery 图标不与 text-align CSS 属性对齐?

jquery - 用另一个覆盖一个 css 类?

javascript - 准确的 JavaScript 计时器

javascript - 使用 AngularJS 在 ng-options 中排序选项

javascript - 如何在一个打开时删除其他选项卡

javascript - 课后增加人数至最大功能

css - 滚动时宽度大于窗口宽度的元素只有部分背景颜色