javascript - 如何使用 jQuery 循环遍历表并查找元素?

标签 javascript jquery html-table

我有一张这样的 table 。这是一个很大的问题,我已经将其简化为这样。使用 jQuery,我想检查成员资格列是否包含“-”。如果是,我想完全删除该行。可以吗?

我尝试过 $("td > tr, #membertable").each(function() { 但我只得到一个元素。

<table id="membertable">  
      <thread>
        <tr>
          <th>
            Name
          </th>
        </tr>
        <tr>
          <th>
            Membership
          </th>
        </tr>

      </thread>
      <tbody>
        <tr>
          <td>
            Ajay
          </td>
          <td>
            -
          </td>
        </tr>
        <tr>
          <td>
            Simon
          </td>
          <td>
            Premium
          </td>
        </tr>
      <tbody>

    </table>

最佳答案

您可以使用 jQuery 选择器 'td:nth-child(2):contains(-)' - 查找全部 2nd child td 元素 contain - 作为其文本。然后您可以删除 td 元素的父元素。

示例:

$('td:nth-child(2):contains(-)').parent().remove();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="membertable">
  <thread>
    <tr>
      <th>
        Name
      </th>
    </tr>
    <tr>
      <th>
        Membership
      </th>
    </tr>

  </thread>
  <tbody>
    <tr>
      <td>
        Ajay
      </td>
      <td>
        -
      </td>
    </tr>
    <tr>
      <td>
        Simon
      </td>
      <td>
        Premium
      </td>
    </tr>
    <tbody>

</table>

要反转选择(不包含),您可以使用 :not 选择器包装 :contains - td:nth-child(2):not( :包含(-))

$('td:nth-child(2):not(:contains(-))').parent().remove();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="membertable">
  <thread>
    <tr>
      <th>
        Name
      </th>
    </tr>
    <tr>
      <th>
        Membership
      </th>
    </tr>

  </thread>
  <tbody>
    <tr>
      <td>
        Ajay
      </td>
      <td>
        -
      </td>
    </tr>
    <tr>
      <td>
        Simon
      </td>
      <td>
        Premium
      </td>
    </tr>
    <tbody>

</table>

关于javascript - 如何使用 jQuery 循环遍历表并查找元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59002337/

相关文章:

javascript - 如何将半填的表单数据发送到服务器?

javascript - JS循环插件无法在IE11中使用。对象不支持属性或方法 'cycle'

html - 为什么我的 HTML 代码中的 <tr> 标签在我的浏览器中没有按顺序显示?

javascript - 在 javascript 中从 JSON 生成 HTML 表

javascript - AngularJS : Expandable recursive tree table

javascript - 检查碰撞功能是否匹配同一位置的 2 个物体

javascript - JavaScript knockout 中的嵌套 for 循环

javascript - 操纵对象以形成不同的格式

javascript - Bootstrap 工具提示在不同于第一个数据表的页面中不起作用

html - 对齐表格标题中的文本