javascript - 删除所有 <td> 都具有特定类的表行的问题

标签 javascript jquery

您能看一下This Demo吗?让我知道如何删除仅 <tr>这一切都是<td>.old类?

我尝试使用这段代码来完成这项工作

$("#removeOld").on("click",function(){
  $('tbody').find('tr').each(function () {

    var rows = 0;
    var rows_old = 0;

    $(this).find('td').each(function () {
        rows++;
        if ($(this).has('old')) rows_old++;
    });

    if (rows === rows_old) $(this).remove();
});
});

但这会删除整个表格!你能让我知道我做错了什么以及如何解决这个问题吗?

谢谢

最佳答案

您需要删除 tr,它没有 td,它不是 td.old,所以

$("#removeOld").on("click", function() {
  $('tbody tr').not(':has(td:not(.old))').remove()
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button id="removeOld" type="button">Remove Entire Old Row!</button>
<table style="width:100%">
  <tbody>
    <tr>
      <td class="old">Some Old</td>
      <td>Smith</td>
      <td>50</td>
    </tr>
    <tr>
      <td>All New</td>
      <td>Jackson</td>
      <td>94</td>
    </tr>
    <tr>
      <td class="old">Some Old</td>
      <td>Smith</td>
      <td>50</td>
    </tr>
    <tr>
      <td class="old">All Old</td>
      <td class="old">Smith</td>
      <td class="old">50</td>
    </tr>
  </tbody>
</table>

关于javascript - 删除所有 <td> 都具有特定类的表行的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26394745/

相关文章:

javascript - ECMAscript 是否提供了构造函数的方法?

php - 来自 JavaScript 的正则表达式

jquery - 仅在 X 轴上模糊

javascript - 如何减少 JavaScript 代码的执行时间

jquery - 相当于这个 html 表单提交的 jQuery ajax 是什么?

javascript - angular 的错误消息 "Failed to instantiate module"仅在资源管理器中

javascript - 在具有许多重复项的 jquery 中隐藏当前元素

javascript - 如何使用 JavaScript 检查鼠标是向上还是向下移动?

javascript - JQuery - 在对象列表中搜索那些将特定成员变量设置为值的对象?

javascript - ASP.NET MVC - 如何异步加载图像?