首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果表数据不包含特定类,则删除表行。

如果表数据不包含特定类,则删除表行。
EN

Stack Overflow用户
提问于 2016-03-01 09:43:09
回答 2查看 85关注 0票数 2

关于删除表中的表行,我遇到了一个问题。我得到了以下HTML:

代码语言:javascript
运行
复制
<table>
      <tr>
          <td class="html5badge"><a href="">autofocus</a></td>
          <td>autofocus</td>
          <td>Specifies that the drop-down list should automatically get focus when the page loads</td>
      </tr>
      <tr>
          <td><a href="">disabled</a></td>
          <td>disabled</td>
          <td>Specifies that a drop-down list should be disabled</td>
      </tr>
      <tr>
          <td class="html5badge"><a href="">test</a></td>
          <td>autofocus</td>
          <td>Specifies that the drop-down list should automatically get focus when the page loads</td>
      </tr>
</table>

我需要一种机制来检查第一个<td>是否不包含html5badge类并删除父类:<tr>

为此,我创建了以下jQuery代码:

代码语言:javascript
运行
复制
$(document).ready(function() {
    $(".onlyhtml5").click(function(event) {
        event.preventDefault();
        var classname = $('table tr td').not('.html5badge'); 
        console.log(classname)
        for (i = 0; i < classname.length; i++) { 
                $(classname[i].parentNode).remove();    
        }                
    });
});

这是可行的,但并不完全是我想要的。正如您在我的JSFIDDLE中所看到的,它将删除所有的表行。但我想要的是以下所需的输出:

代码语言:javascript
运行
复制
<table>
      <tr>
          <td class="html5badge"><a href="">autofocus</a></td>
          <td>autofocus</td>
          <td>Specifies that the drop-down list should automatically get focus when the page loads</td>
      </tr>
      <tr>
          <td class="html5badge"><a href="">test</a></td>
          <td>autofocus</td>
          <td>Specifies that the drop-down list should automatically get focus when the page loads</td>
      </tr>
</table>

所需的输出是删除包含文本:禁用的<tr>!基于这个<tr>中的<tr>不包含类:html5badge这一事实。

我怎样才能做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-01 09:46:12

可以使用filter()检索不包含td.html5badgetr元素,并删除它们:

代码语言:javascript
运行
复制
$(".onlyhtml5").click(function(e) {
    e.preventDefault();
    $('tr').filter(function() {
        return $(this).find('td.html5badge').length == 0;
    }).remove();
});

更新小提琴

票数 3
EN

Stack Overflow用户

发布于 2016-03-01 09:45:50

简单地说

代码语言:javascript
运行
复制
$(document).ready(function() {
    $(".onlyhtml5").click(function(event) {
        event.preventDefault();
        $('table tr td').not('.html5badge').each( funtion(){
           $( this ).parent().remove();
        } ); 
    });
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35719404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档