Javascript 从表中删除行

Javascript 从表中删除行,javascript,jquery,Javascript,Jquery,假设我们有表: <table> <tr>first</tr> <tr class="ClassName">second</tr> <tr class="ClassName">third</tr> </table 我需要知道这个类是否有行。如果是,我需要移除它们。若并没有,我调用ajax,从db读取数据,并将行添加到表中。它是显示/隐藏机制的一部分 但是我的代码什么都不做。行仍然显示

假设我们有表:

<table>
    <tr>first</tr>
    <tr class="ClassName">second</tr>
    <tr class="ClassName">third</tr>
</table

我需要知道这个类是否有行。如果是,我需要移除它们。若并没有,我调用ajax,从db读取数据,并将行添加到表中。它是显示/隐藏机制的一部分

但是我的代码什么都不做。行仍然显示在页面中。我应该改变什么?

为什么不:

$('table tr.ClassName').hide();
jQuery


如果你想删除永久,那么你可以使用这个

$('.ClassName').each(function(){
      $(this).remove();
});
给你-

$("table tr[class='ClassName']").remove();
如果这解决了您的问题,请将其标记为已回答。

尝试在jquery中使用hasClass。 JQuery:

//检查是否有任何行具有类

如果$'table tr'.hasClassClassName{//从表中删除}

否则{ //在这里进行ajax调用。 }


您只需删除该类中的所有内容,然后检查是否存在以下内容:

$(function () {
    var $trs = $('table tr.ClassName');
    $trs.remove();
    if ($trs.length === 0) {
      // Ajax-call
    } 
});
应该行得通

$("table").find(".ClassName").remove();    
如果要删除除第一行以外的所有表行,则可以尝试此操作

$("table").find("tr:gt(0)").remove();

我需要知道这个类是否有行。如果是,我需要移除它们。若并没有,我调用ajax,从db读取数据,并将行添加到表中。其显示/隐藏机制的一部分也可以是$'table tr.ClassName'。remove;如果要从DOMI更新问题中删除一行。不幸的是,它们无法隐藏为什么不使用类选择器.ClassName而不是更麻烦的属性选择器?因为CSS类名也可以用于其他HTML元素,建议在使用类选择器之前针对元素类型。但是,如果开发人员确定所提到的类只用于表,那么他们可以直接使用类选择器。是的,我同意这一点。我的意思是$table tr.ClassName是一个更直接的选择器,也是这个问题的大多数其他答案所使用的。不需要遍历它们并逐个删除它们。这是迄今为止最好的答案,事实上是唯一一个满足OP要求的答案。
$("table").find(".ClassName").remove();    
$("table").find("tr:gt(0)").remove();